添加时,soapui WSDL错误

时间:2014-02-14 13:17:32

标签: ssl wsdl ssl-certificate

添加此错误时,我一直收到此错误消息。有任何想法吗。我在其他WSDL链接上工作,除此之外它们都很好。

  

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

6 个答案:

答案 0 :(得分:4)

WSDL位于https上,因此您需要将域证书添加到JRE上的cacerts(随SOAPUI安装一起)(也可能是wsdl也在http上发布,因此您可以尝试将wsdl的url更改为http,如果不尝试下面的步骤,首先尝试这个。)

您必须下载服务器证书(您可以使用浏览器连接到wsdl的URL并将证书另存为存档)。

download server certificate sample

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

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

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

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

希望这有帮助,

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:2)

这似乎是SoapUI中的一个错误(至少从4.6.4开始)。我刚刚遇到了同样的问题,在确定我已经将所有CA证书导入到我发现this post的所有位置时都提到了相同的问题。

我安装了帖子中提到的夜间版本,我能够解决SSL握手问题。

答案 3 :(得分:0)

这里有一个狡猾的细节: SOAPui使用OS系统调用wsimport程序调用{​​{1}}命令。它不会加载内部类wsimport来执行WSDL导入。

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

在这种情况下,被调用的com.sun.tools.internal.ws.WsImport将不会引用SOAPUI_HOME \ jre \ lib \ security中的嵌入式cacerts。 相反,它使用wsimport所属的JDK的默认cacerts。

SOAPui uses wsimport from a JDK as this picture shows

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

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

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

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

    希望它有所帮助!

答案 4 :(得分:0)

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

答案 5 :(得分:-1)

自从这个话题被问到以来已经过了一段时间,但我对albciff的回答有所补充。

SoapUI拥有自己的JRE,你必须在SoapUI的JRE的cacerts文件中导入证书。

希望这有帮助!