为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 wsdl2java 从使用 x.509 证书保护的 WSDL 生成代码?

如何使用 wsdl2java 从使用 x.509 证书保护的 WSDL 生成代码?

一只名叫tom的猫 2022-12-21 16:37:13
我尝试使用 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 的证书来连接服务器?
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我想建议你通过以下步骤跳过这个问题:

  1. 将该 wsdl 手动下载到您的本地计算机。

  2. 将 wsdl 文件中引用的 xsd 文件手动下载到本地计算机。

  3. 修改 wsdl 以将 xsd 位置更改为本地位置。

  4. 您现在可以生成 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 %*


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 149 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信