我可以生成從如何從https地址的wsdl在Eclipse中生成Web服務客戶端?
http://localhost:8080/service?wsdl
就好了一個客戶,但現在我想從
https://localhost:8081/service?wsdl
生成客戶端和Eclipse說位置是無效的,而當Eclipse使嘗試我的碼頭服務器說
javax.net.ssl.SSLException:收到致命警報:certificate_unknown
我可以很容易地navig在確認安全異常後,在我的瀏覽器中進入wsdl,所以它絕對存在。
我試過將wsdl下載到我的本地文件系統,但我仍然無法從那裏生成它,因爲wsdl包含對其他https位置的引用,例如。
<xsd:import namespace="http://my.service.namespace/" schemaLocation="https://localhost:8081/serviceSchema?xsd=1"/>
我修改的eclipse.ini包含以下行:
-Djavax.net.ssl.trustStore="/path/to/my/truststore/.keystore"
-Djavax.net.ssl.trustStorePassword="mytruststorepassword"
-Djavax.net.ssl.keyStore="/path/to/my/keystore/.keystore"
-Djavax.net.ssl.keyStorePassword="mykeystorepassword"
無濟於事。 Eclipse似乎沒有任何與此相關的偏好設置。有沒有辦法通過eclipse做到這一點,或者我將不得不使用一些外部工具?
編輯: 對於其他同樣的問題,這是我如何解決它。
- 導航到瀏覽器中的wsdl,並將其下載到您的文件系統。
- 找到它依賴的任何東西,並下載它。
打開你剛剛用瀏覽器下載的依賴關係,並複製它的新位置,例如。
文件:///path/to/my/schema/service.xsd
- 粘貼到您下載的WSDL文件,其中它的https地址,重複任何其他的模式,並保存。
- 複製上述wsdl文件的文件位置,如上
- 在Eclipse中,生成New-> Other ...-> Web Service Client並將文件位置粘貼到服務定義中,並且它應該可以工作。感謝大家的幫助!
你應該下載WSDL和所有工件(如XSD)它所依賴。修改架構位置並生成客戶端...不要忘記將這些WSDL添加到您的版本控制系統(這是您的合同) – home
但是如果我修改架構位置,客戶端不會錯誤地生成? –
爲什麼?您應該始終在您的代碼中設置端點地址......其他所有內容僅適用於「hello world」應用程序。在現實世界中,您可能有不同的端點地址用於生產,分段,測試等。 – home