java 調用webservice接口wsdl,推薦使用wsdl2java,放棄wsimport


 

網上說wsimport是jdk1.6后自帶的客戶端生成調用webservice接口的工具,其實我挺喜歡原生的東西,畢竟自家的東西用着應該最順手啊,但往往讓人驚艷的是那些集成工具。

 

本機jdk1.8.1的,直接按網上說的wsimport -keep -p wsimport.test http://****:****/***.wsdl 報警報錯,報警warning可以忽略,但錯誤error 難以解決,說具有相同名稱 "xxx" 的類/接口已在使用。請使用類定制設置來解決此沖突。找了許多資料,包括程序猿題解天堂stackoverflow找到的也不好使。某度找到的只有4個答案,有三個答案是關於添加-autoNameResolution,結果 wsimport 加上提示根本不存在該屬性啊,,,,

 

於是決定用wsdl2java,本來以為要安裝什么東西,公司那破網速簡直不敢,看了介紹只需要下載解壓,添加到系統路徑path即可,找了官網可下載的最新鏈接,按照網上的說法添加到系統路徑,先添加屬性CXF_HOME和值D:\Program Files\Java\apache-cxf-3.2.7,然后添加path屬性%CXF_HOME%\bin,可是我的win10系統仍然提示不是內部命令,於是直接將D:\Program Files\Java\apache-cxf-3.2.7\bin 添加到path系統路徑,重新開啟cmd,成功!

 

wsdl2java http://***:****/***.wsdl 默認生成com.oracle.*.*.****包名,可以自定義 wsdl2java -p wsdl2java.test http://***:****/***.wsdl ,如果報:具有相同名稱 "xxx" 的類/接口已在使用。請使用類定制設置來解決此沖突。可添加 -autoNameResolution 解決。

wsdl2java -p wsdl2java.test -autoNameResolution http://***:****/***.wsdl 

添加 -client 可以自動生成main測試代碼 wsdl2java -p wsdl2java.test -client -autoNameResolution http://***:****/***.wsdl 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM