Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何调用webservice而不为其创建任何客户端?_Java_Web Services - Fatal编程技术网

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就可以执行相同的操作。
这是一个链接

  • 右键单击生成的wsdl>运行方式>在服务器中运行

  • 从浏览器的地址栏复制url

  • 打开soapiu并单击newproject

  • 将url粘贴到wsdl列中

  • 项目将与方法的名称一起列出

  • 展开该方法并单击request1

  • 在“”中输入值,这些值是方法的参数

  • 单击“运行”按钮

  • 这是一种模拟创建的web服务而不创建客户端的方法。soapui应用程序可以作为客户端工作。
    希望这能有所帮助。

    有一种方法叫做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);