Java 如何调用webservice而不为其创建任何客户端?
我在谷歌上搜索,但没有找到任何有用的文章。Java 如何调用webservice而不为其创建任何客户端?,java,web-services,Java,Web Services,我在谷歌上搜索,但没有找到任何有用的文章。 我想调用webservice方法。我有wdsl,我必须在不创建任何存根的情况下动态调用。任何示例都会更有帮助。有趣的问题。经过一点研究,我在github上发现了这个项目,它似乎满足了您的需求 下面是一些来自github站点的示例代码,看起来非常简单明了 在60秒内消费一个网络服务 让我们使用CurrencyConverter Web服务。多亏了fluent构建器,API才是严格的、直观的。需要解释吗?欢迎使用soap ws:) 希望您正在搜索用于调用
我想调用webservice方法。我有wdsl,我必须在不创建任何存根的情况下动态调用。任何示例都会更有帮助。有趣的问题。经过一点研究,我在github上发现了这个项目,它似乎满足了您的需求 下面是一些来自github站点的示例代码,看起来非常简单明了 在60秒内消费一个网络服务 让我们使用CurrencyConverter Web服务。多亏了fluent构建器,API才是严格的、直观的。需要解释吗?欢迎使用soap ws:)
希望您正在搜索用于调用web服务的工具。更好的用户
SOAPUI是一种工具,它充当与web服务连接的客户端。SOAPUI是一种用于测试生成的web服务的应用程序。您只需要Wsdl就可以执行相同的操作。
这是一个链接
希望这能有所帮助。有一种方法叫做REST,它基于url。如果您有现成的WSDLi,我认为您不可能在不创建存根的情况下调用WS。我认为这里有一篇关于这个主题的类似文章:webservice只不过是通过某种传输将xml发送到端点。您可以创建一个包含XML的
字符串
,并使用HttpUrlConnection
(如果传输是HTTP)将XML发送到端点。您甚至可以使用JAX-WS动态(在运行时!)为您的Web服务创建代理。不需要额外的图书馆。
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);