[英]How to use wsdl2java to generate code from WSDL which is secured using x.509 certificate?
我尝试使用wsdl2java生成Java类。
Wsdl位于使用X509证书保护的远程服务器中,当我尝试在浏览器中访问它而没有信任存储中的证书时,它返回错误(当然,当我将证书导入certmgr.msc
,wsdl表现得很好)。
不幸的是,当我尝试运行wsdl2java时,我得到:
> org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition file:/resources/wsdl/my.xml: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing 'https://SERVER_HOST/my?xsd=../xsd/XX.xsd'.: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
我在JKS商店导入了我的证书。
我如何建议wsdl2java使用JKS的证书连接到serwer?
我建议您通过以下步骤跳过此问题:
将wsdl手动下载到本地计算机。
将在该wsdl文件中引用的xsd文件dlown加载到本地计算机。
修改wsdl以将xsd位置更改为本地位置。
你现在可以生成java代码了。
如果你真的想成功的话。 请参考这里:
"%JAVA_HOME%\bin\java" -Djavax.net.ssl.trustStore="{keystorefile}" -Djavax.net.ssl.trustStorePassword="{password}" -Djavax.net.ssl.keyStoreType="jks" -Dorg.jboss.security.ignoreHttpsHost="true" -Xmx128M -Djava.endorsed.dirs="%CXF_HOME%\lib\endorsed" -cp "%CXF_JAR%;%TOOLS_JAR%;%CLASSPATH%" -Djava.util.logging.config.file="%CXF_HOME%\etc\logging.properties" org.apache.cxf.tools.wadlto.WADLToJava %*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.