【问题标题】:soapui WSDL error when adding添加时soapui WSDL错误
【发布时间】:2014-03-13 21:08:01
【问题描述】:

添加此内容时,我不断收到此错误。有任何想法吗。我在其他 WSDL 链接上工作过,除此之外它们都很好。

org.apache.xmlbeans.XmlException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX 路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到请求目标的有效认证路径

【问题讨论】:

  • 这个话题被问到已经过去了一段时间,但我对albciff的回答有一个补充。 SoapUI 有它自己的 JRE,你必须在 SoapUI 的 JRE 的 cacerts 文件中导入证书。希望这会有所帮助!

标签: ssl wsdl ssl-certificate


【解决方案1】:

WSDL 在 https 上,因此您需要将域证书添加到 JRE 上的 cacerts 中,该证书附带 SOAPUI 安装(也可能是 wsdl 也在 http 上发布,因此您可以尝试将 wsdl 的 url 更改为http,如果不尝试以下步骤,请先尝试此操作)。

你必须下载服务器证书(你可以用浏览器连接到wsdl的url并将证书保存为存档)。

然后您可以使用 keytool 将此证书导入您的 cacerts:

keytool -import -alias somealias -file serverCertificate.cer -keystore SOAPUI_HOME/jre/lib/security/cacerts

(cacerts 的默认密码是“changeit”)。

通过这些步骤,您可以使用 WSDL 并避免“PKIX 路径构建失败”异常。

希望这会有所帮助,

【讨论】:

【解决方案2】:

SOAP UI 的问题是它使用它赢得的 JRE 来执行程序...

要解决上述异常,请按照以下步骤操作。

  1. 从密钥库或浏览器(包含公钥)导出证书
  2. 进入SOAPUI安装目录,找到如下目录\SmartBear\soapUI-4.0.1\jre\lib\security
  3. 将证书导入到 cacerts 信任库(这是默认信任库)
  4. 重新启动 SOAP UI 并加载 WSDL...

【讨论】:

  • 如果您在 OS X Yosemite 上运行 SoapUI 5.0,SoapUI 使用的信任库位于目录 /Applications/SoapUI-5.0.0.app/Contents/PlugIns/jre.bundle/Contents/主页/jre/lib/security
  • 对于 SOAPUI 5.6.0,这里也是您需要导入它的位置:/Applications/SoapUI-5.6.0.app/Contents/PlugIns/jre.bundle/Contents/Home/lib/security
【解决方案3】:

这似乎是 SoapUI 中的一个错误(至少从 4.6.4 开始)。我刚刚遇到了同样的问题,在确保我在所有地方都导入了所有 CA 证书后,我发现 this post 提到了同样的问题。

我安装了帖子中提到的夜间构建,并且能够解决 SSL 握手问题。

【讨论】:

【解决方案4】:

这里有一个狡猾的细节: SOAPui 调用wsimport 命令并通过操作系统系统调用wsimport 程序。它不会加载内部类 com.sun.tools.internal.ws.WsImport 来进行 WSDL 导入。

如果您使用附带的默认 JRE 运行 SOAPui,但您还安装了不同的 JDK,那么在使用 SOAPui 工具生成代码时,使用的 wsimport 命令是操作系统知道的命令 更好地来自 PATH,而不是 SOAPui 附带的 com.sun.tools.internal.ws.WsImport

在这种情况下,被调用的 wsimport 不会引用 SOAPUI_HOME\jre\lib\security 中的嵌入式 cacert。 相反,它使用wsimport 所属的JDK 的默认cacerts。

SOAPui uses wsimport from a JDK as this picture shows

在这种情况下,您必须遵循的步骤是:

  1. 下载服务器证书并将其保存到文件中,例如 srv-certificate.txt

  2. 将此证书导入到 SOAPui 工具使用的 JDK 的证书中

    C:\>keytool -import -alias somealias -file cmq-certificates.txt  -keystore C:\software\jdk1.8.0.65\jre\lib\security\cacerts
    

其中 jdk1.8.0.65 是 SOAPui 工具使用的 JDK。

希望对你有帮助!

【讨论】:

    【解决方案5】:

    我遇到了同样的问题(在公司代理后面使用专业计算机):
    看来我只需要在 SoapUI 中将 proxy 设置为 None 来解决它(手动 - cntlm,在我的情况下 - 也 自动 - Windows 设置,企业代理 - 没有工作:-/)!...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多