2014-10-09 60 views
1

我在谷歌搜索,但沒有找到任何有用的文章。 我想調用webservice methods.I有wdsl,我必須動態調用,而不創建任何存根,因此任何示例都會更有幫助。如何在不爲其創建任何客戶端的情況下調用webservice?

+0

有一種叫做REST的方式,它的url基礎。我不認爲如果你有一個現成的WSDL,你可以在不創建存根的情況下調用WS – vikeng21 2014-10-09 11:39:44

+0

我認爲這裏有一個關於這個主題的類似帖子:http://stackoverflow.com/questions/2491598/create-on-the -fly-web-service-dynamic-web-service-invoker – VAndrei 2014-10-09 11:44:02

+0

web服務只不過是通過一些傳輸將xml發送到端點。您可以創建一個包含XML的'String',並使用'HttpUrlConnection'(如果傳輸是HTTP)將XML發送到端點。您甚至可以使用JAX-WS動態地(在運行時!)爲您創建Web服務的代理。不需要額外的庫。 – 2014-10-09 12:06:08

回答

0

Soap Ui是一個用於測試生成的Web服務的應用程序。你只需要Wsdl就可以做到這一點。
here是一個鏈接。

  1. 右鍵單擊生成的wsdl> run as>在服務器中運行。

  2. 從瀏覽器的地址欄複製網址。

  3. 打開肥皂iu並點擊新項目。

  4. 將網址粘貼到wsdl列中。

  5. 該項目將與方法的名稱列出。

  6. 展開方法並單擊request1。

  7. 在「?」中輸入值這是該方法的參數。

  8. 單擊運行按鈕。

這是一種嘲笑在不創建客戶端的情況下創建的Web服務的方法。肥皂Ui應用程序可以作爲客戶端工作。 希望這有助於。

1

有趣的問題。經過一些研究,我發現這個項目在github上,似乎滿足您的需求。

https://github.com/reficio/soap-ws

下面是從GitHub的網站,這似乎很容易和簡單一些示例代碼。

使用Web-Serivce在60秒

讓我們消耗CurrencyConverter網絡服務。得益於流利的構建者,API直觀而直觀。它需要任何解釋嗎?歡迎來到soap-ws :)

Wsdl wsdl = Wsdl.parse("http://www.webservicex.net/CurrencyConvertor.asmx?WSDL"); 

SoapBuilder builder = wsdl.binding() 
    .localPart("CurrencyConvertorSoap") 
    .find(); 
SoapOperation operation = builder.operation() 
    .soapAction("http://www.webserviceX.NET/ConversionRate") 
    .find(); 
Request request = builder.buildInputMessage(operation) 

SoapClient client = SoapClient.builder() 
    .endpointUrl("http://www.webservicex.net/CurrencyConvertor.asmx") 
    .build(); 
String response = client.post(request); 
1

希望你正在尋找一個調用web服務的工具。更好的用戶Soap UI 肥皂用戶界面是一個工具,充當客戶端與您的Web服務連接。

相關問題