我在eclipse中使用Apache CXF在Java中創建了一個Webservice,現在我必須創建一個WebService客戶端應用程序來使用和調用它。 我一直在尋找辦法,我發現客戶端總是依賴於服務器的Java類。用Java創建一個SOAP Webservice客戶端應用程序
問題是我必須在其他Java環境中開發客戶端類。我的問題是:有沒有辦法開發一個獨立於webservice服務器的客戶端類,只使用WSDL文件?
謝謝:)
我在eclipse中使用Apache CXF在Java中創建了一個Webservice,現在我必須創建一個WebService客戶端應用程序來使用和調用它。 我一直在尋找辦法,我發現客戶端總是依賴於服務器的Java類。用Java創建一個SOAP Webservice客戶端應用程序
問題是我必須在其他Java環境中開發客戶端類。我的問題是:有沒有辦法開發一個獨立於webservice服務器的客戶端類,只使用WSDL文件?
謝謝:)
您可以Apache CXF
Link WSDL到Java的工具的幫助。 wsdl2java
- 接收WSDL文檔並生成完整註釋的Java代碼,從中實現服務。
你也可以藉助eclipse插件。
您可以發送請求的Web服務API爲XML請求。只有您需要使用適當的標題和正文來構建SOAP投訴請求。通過使用SoapUI,您可以生成XML請求結構,然後在您的應用程序中重用它。
如果您使用的JAX-RS(REST API)的,即使HTTP方法也適用
[更新]
如果你被卡住瞭如何創建客戶端類,那麼你就按照這個
使用的wsimport
> http : //hostname :port/wsdl.url on command line to create proxy classes
創建jar文件生成的代理類
樣本測試客戶端如下。
try {
URL wsdlURL = new URL("http://localhost:8082/cxf/services/yourservice?wsdl");
QName SERVICE_NAME = new QName("http://package.name/","PORTNAme");
Service service = Service.create(wsdlURL, SERVICE_NAME);
client = service.getPort(PORTInterface.class);
client.executeYourMethod()
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
乾杯 Satheesh
不知道如果我理解你想要達到的,但也有實用程序,可用於從wsdl生成Web服務客戶端。 wsimport是標準jdk的一部分(如果我沒有記錯的話,從Java 6開始) – DaveH
您可以使用cxf'wsdl2java'命令或使用jax-ws'wsimport'生成類wpdl – user1516873
我希望您問過NetBeans(右鍵單擊項目,新的,Web服務客戶端,從WSDL完成) 無論如何 - wsimport已經足夠滿足您的問題。 – Lenymm