2014-10-09 66 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服务连接。

相关问题