2014-02-14 96 views
4

添加此錯誤時,我不斷收到此錯誤。有任何想法嗎。我從事其他WSDL鏈接,除此之外,他們都很好。添加時出現soapui WSDL錯誤

org.apache.xmlbeans.XmlException:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路徑建設失敗: sun.security.provider.certpath.SunCertPathBuilderException:無法 找到有效的認證路徑要求的目標

回答

4

的WSDL是HTTPS,所以你需要添加域證書到JRE的cacerts中附帶SOAPUI安裝(也可可能是WSDL也公佈在http如此您可以嘗試將wsdl的url更改爲http,如果不嘗試下面的步驟,請先嚐試此操作)。

您必須下載服務器證書(您可以使用瀏覽器連接到wsdl的url並將證書另存爲存檔)。

download server certificate sample

然後你可以導入這個證書給你的cacerts使用keytool:

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

(用於cacerts的缺省密碼是 「的changeit」)。

通過此步驟,您可以使用WSDL並避免「PKIX路徑構建失敗」異常。

希望這有助於

+0

因爲您可能在運行此命令更改目錄之前安裝了多個jre,並轉到您的目標jre:SOAPUI_HOME/jre/bin(請參閱:http://stackoverflow.com/a/8186224/2197088) – Legna

2

這似乎是一個了SoapUI錯誤(至少爲4.6.4)。我剛剛遇到同樣的問題,並確保我有所有進口的CA證書後,我發現this post提到了同樣的問題。

我安裝了該文章中提到的夜間構建,並且能夠通過SSL握手問題。

+0

我已下載快照構建位於這裏http://www.soapui.org/Downloads/soapui-nightly-builds.html,它爲我工作。 (請注意「post」中的鏈接)是SOAP UI Pro快照。 –

-1

這個話題被問了一段時間了,但我對albciff的答案有了一個補充。

SoapUI有它自己的JRE,你必須在SoapUI的JRE的cacerts文件中導入證書。

希望這會有所幫助!

3

與SOAP UI的問題是,它是一個使用它贏得了JRE執行程序...

爲了解決上述例外按照以下步驟。

  1. 出口從密鑰存儲或瀏覽器證書(含公鑰)
  2. 轉到SOAPUI安裝目錄,找到以下目錄\ SmartBear \的soapUI-4.0.1 \ JRE \ lib \ security中
  3. 將證書導入cacerts信任存儲區(這是默認信任存儲區)
  4. 重新啓動SOAP UI並加載WSDL ...
+1

如果您在OS X上運行的優勝美地5.0了SoapUI通過了SoapUI使用的信任庫位於目錄/Applications/SoapUI-5.0.0.app/Contents/PlugIns/jre.bundle/Contents/Home/jre/lib/security –

0

這裏有一個狡猾的細節: soapUI的調用與OS系統調用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嵌入式的cacerts \ JRE \ lib \ security中。 相反,它利用JDK的默認的cacerts的wsimport所屬。

SOAPui uses wsimport from a JDK as this picture shows

在這種情況下,你必須遵循的步驟是:

  1. 下載和server's證書保存到一個文件,說SRV-證書到

  2. 導入該證書到JDK由soapUI的工具使用的cacerts:

    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。

希望它有幫助!