Webservice客户端调用Webservice客户端-java

Webservice客户端调用Webservice客户端-java,java,soap,xsd,wsdl,jax-ws,Java,Soap,Xsd,Wsdl,Jax Ws,我必须创建一个java客户端来执行Web服务。我有一个包含整个SOAP请求(信封、头、正文)的XML 如何通过传递包含soap请求的xml文件来编写java代码来执行webservice 我试着搜索了很多,但找不到这样的样本 服务器上的Web服务位于SOAP1.1上,内容类型为“text/xml” 比如说 wsdlLocation=”http://localhost:8080/helloservice/hello?wsdl" webservice没有输入参数,这就是为什么数据必须作为soap请求

我必须创建一个java客户端来执行Web服务。我有一个包含整个SOAP请求(信封、头、正文)的XML

如何通过传递包含soap请求的xml文件来编写java代码来执行webservice

我试着搜索了很多,但找不到这样的样本

服务器上的Web服务位于SOAP1.1上,内容类型为“text/xml”

比如说 wsdlLocation=”http://localhost:8080/helloservice/hello?wsdl"

webservice没有输入参数,这就是为什么数据必须作为soap请求完全传递的原因。传递的数据是xml格式的

示例SOAP请求xml文件示例(Sample.xml)



如果有人能提供一个示例,那就太好了。要生成客户端服务方法和内容,请使用
wsimport
工具,如下所示:

wsimport -keep http://localhost:8080/helloservice/hello?wsdl
资料来源:在那里,如果你真的(我的意思是真的)想用手做这一切,说明也在那里。我更喜欢生成而不是创建东西,所以,让我们保持简单

然后使用以下内容创建客户端:

package com.mkyong.client;

import com.mkyong.ws.HelloWorld;
import com.mkyong.ws.HelloWorldImplService;

public class HelloWorldClient{

    public static void main(String[] args) {

    HelloWorldImplService helloService = new HelloWorldImplService();
    HelloWorld hello = helloService.getHelloWorldImplPort();

    System.out.println(hello.getHelloWorldAsString("mkyong"));

   }

}

这是上面链接的直接引用,方法名称可能会有所不同,具体取决于您在服务器端实际服务中遵循的教程。

要生成客户端服务方法和内容,请使用
wsimport
工具,如下所示:

wsimport -keep http://localhost:8080/helloservice/hello?wsdl
资料来源:在那里,如果你真的(我的意思是真的)想用手做这一切,说明也在那里。我更喜欢生成而不是创建东西,所以,让我们保持简单

然后使用以下内容创建客户端:

package com.mkyong.client;

import com.mkyong.ws.HelloWorld;
import com.mkyong.ws.HelloWorldImplService;

public class HelloWorldClient{

    public static void main(String[] args) {

    HelloWorldImplService helloService = new HelloWorldImplService();
    HelloWorld hello = helloService.getHelloWorldImplPort();

    System.out.println(hello.getHelloWorldAsString("mkyong"));

   }

}

这是上面链接中的直接引用,方法名称可能会有所不同,这取决于您在服务器端实际服务中遵循的教程。

如果您在文件中保存了完整的xml和SOAP请求,并且需要直接发送它(我猜是为了测试),那么只需使用普通http客户端并对其执行POST请求即可。 以下是一些如何做到这一点的示例:


如果您在文件中保存了包含SOAP请求的完整xml,并且需要直接发送它(我猜是为了测试),那么只需使用普通http客户端并对其执行POST请求即可。 以下是一些如何做到这一点的示例:


我假设在wsdl中的导入或包含语句的url中存在键入错误。我假设在wsdl中的导入或包含语句的url中存在键入错误。wsimport随jdk提供。wsimport不起作用,因为服务器wsdl不以命名空间开头。您在浏览器上检查了wsdl url内容吗?看到了吗?看看wsdl在其他方面是否正常..wsimport随jdk一起提供。wsimport不起作用,因为服务器wsdl不以命名空间开头。您在浏览器上检查了wsdl url内容了吗?看到了吗?看看wsdl在其他方面是否正常。。