如何使用Java訪問.wsdl
文件中的公開方法?另外,編寫Java客戶端和使用Web服務涉及哪些步驟?如何編寫Java客戶端來訪問WSDL文件?
回答
我建議從Eclipse Java EE中的Web Service Explorer開始。這使您可以調查給定WSDL的任何Web服務。
將WSDL轉換爲Java的指令取決於您要使用的Web服務庫。如果使用Java 6,則會建立Metro棧。
您將需要從WSDL文件生成Java代理。您可以使用Apche CXF或Apache Axis/Axis2來生成Java代理/ Java客戶端。
在Java 6中,您也可以生成Java客戶端。在JDK/bin上有wsimport來生成Web服務客戶端或在Axis中,有WSDL2Java,它執行與wsimport相同的操作。
除了The Elite Gentleman's answer,這裏是我的步驟,我成功地用來生成類是能夠使用Web服務: 命令:
wsimport -Xnocompile -keep -b binding.xml wsdlFile.wsdl
說明:
- '-Xnocompile' 禁止顯示.class文件的生成
- '-keep'確保生成的Java文件不會被刪除(默認情況下,只保留.class文件)
- '-b'指定綁定配置文件。這是必要的! (見下)
我有問題,Java類包含JAXBElement<Type>
包裝類。 因此,而不是類型String
的類成員,我會得到類型JAXBElement<String>
,這是可怕的使用。隨着-b
開關wsimport
及以下binding.xml
文件,你會得到正確的類型:
<jaxb:bindings version="2.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jaxb:bindings>
<jaxb:globalBindings generateElementProperty="false" />
</jaxb:bindings>
</jaxb:bindings>
我希望這有助於。 wsimport
然後生成您需要的所有類以及包含所有Web服務方法的方法的類。
默認情況下,這些方法沒有讀取超時(在請求時會說出網絡問題...),請參閱here,以瞭解當時的問題。
我會看看讓你的IDE自動生成一切。
在NetBeans中,步驟是:
右擊你的項目,單擊 「添加Web服務客戶端」,進入WDSL URL,然後單擊Finish。
這將自動爲您創建Java代理。
要在代碼中實現客戶端,請將所需方法(位於項目中的Web服務引用中)拖放到代碼中。
+1我剛要推薦它。在這種情況下,NetBeans使它變得微不足道。 – Rekin 2010-08-18 19:23:17
soapUI是允許您輕鬆進入WSDL/SOAP世界的軟件之一。您可以生成帶有測試值的SOAP請求以發送到服務器。您還可以看到服務器的SOAP響應。這將讓你更多地理解WSDL/SOAP。要從wsdl生成java代碼,請參閱上面的建議。
使用wsimport -keep
這將給你所有的類。然後編寫一個不同的服務類並複製生成的服務類中的所有方法。將你自己的服務類傳遞給wsgen -keep -p
。它會給你需要的包裝類(jax-ws),你將從你的委託調用方法返回。
使用IDE時,這很簡單。讓我們以netbeans爲例。
- 來打開NetBeans
- 通過點擊文件中創建一個新的項目,並選擇新的項目
- 下選擇應用類別下和Java的應用程序的一個java
- 右鍵點擊你新建的項目,並選擇新的選擇web 服務客戶端。
NetBeans將要求一個WSDL和客戶端位置
[WSDL和客戶端的位置] [1]
[1]: https://i.stack.imgur.com/yWQZv.png
選擇WSDL和輸入網址的WSDL位置的
點擊完成,將爲您創建所有方法
您在這裏的任務是調用方法並傳遞參數
- 1. 訪問WSDL文件的SOAP客戶端
- 2. wsdl客戶端java
- 3. 從WSDL編寫Webservice客戶端
- 4. java訪問客戶端文件系統
- 5. 訪問Wsdl Web服務客戶端GWT
- 6. C#中的SOAP客戶端無法訪問WSDL文件
- 7. WSDL客戶端問題,PHP
- 8. 的Apache Axis2的Java客戶端訪問犀SOAP WSDL
- 9. 是否可以編寫Java客戶端來訪問Tensorflow服務器?
- 10. 爲WCF編寫文件流客戶端
- 11. 如何讓客戶端寫入文件?
- 12. 遠程文件訪問客戶端
- 13. Sharepoint 2007客戶端訪問文件
- 14. 訪問客戶端文件系統
- 15. 使用Java編寫FTP客戶端6
- 16. 來自WSDL的Spring-ws客戶端
- 17. Java soap客戶端到wsdl url
- 18. java Netbeans web服務WSDL客戶端
- 19. 從WSDL創建java客戶端
- 20. WSDL到Java - 客戶端創建錯誤
- 21. 從Big WSDL文件生成Java客戶端
- 22. 如何編寫Google Wave富客戶端?
- 23. 如何編寫perforce客戶端規範?
- 24. Java客戶端訪問.net WCF服務
- 25. 訪問使用Java客戶端
- 26. 客戶端訪問AS400 Java包裝
- 27. 編寫Spring引導WSDL *客戶端*提供認證證書
- 28. 如何測試SOAP(wsdl)客戶端?
- 29. 如何部署客戶端服務WSDL
- 30. 爲什麼.java文件(servlet)無法訪問客戶端?
如何使用wsipmort.exe文件? – sarah 2010-08-16 11:52:00
點擊'wsimport'上的鏈接,並提供解決方案。 – 2010-08-16 12:11:27