Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 如何使用SpringWS整理SOAP主体中的部件列表_Java_Soap_Jaxb_Spring Ws - Fatal编程技术网

Java 如何使用SpringWS整理SOAP主体中的部件列表

Java 如何使用SpringWS整理SOAP主体中的部件列表,java,soap,jaxb,spring-ws,Java,Soap,Jaxb,Spring Ws,我必须用Java为SOAP Web服务编写一个客户端。最初,我在wsdl上使用wsimport生成代理类,一切都很好。 但是,如果在类似wsdl的添加中有更改,那么我的代理类就会崩溃 所以我尝试切换到SpringWS,它不需要预编译存根 soap请求应如下所示: <soapenv:Body> <ws:command> <requestName>?</requestName> <paramCount>?</p

我必须用Java为SOAP Web服务编写一个客户端。最初,我在wsdl上使用wsimport生成代理类,一切都很好。 但是,如果在类似wsdl的添加中有更改,那么我的代理类就会崩溃

所以我尝试切换到SpringWS,它不需要预编译存根

soap请求应如下所示:

<soapenv:Body>
  <ws:command>
     <requestName>?</requestName>
     <paramCount>?</paramCount>
     <paramList>
        <item>?</item>
     </paramList>
  </ws:command>
</soapenv:Body>
问题是。我如何告诉SpringWS(或者我猜是封送员)我只是希望通过传递单个对象将一个没有任何包装器的元素列表添加到soap主体中

编辑: 主体和命令在wsdl中指定,我无法控制它们。我拥有的是参数列表:requestName、paramCount。。
此参数列表没有封装在commandParams之类的元素中,但我必须向marshalSendAndReceive()方法传递一个参数。如果我传递一个包装器元素,那么该元素也会被序列化到主体中,这违反了Web服务契约。

您能否详细说明
是否希望通过传递单个对象将一个没有任何包装器的元素列表添加到soap主体中
?可能有几个例子。它是静态的,所以您将始终需要匹配Web服务。您可以使用Restful并使用JSON对象,这会更简单
import org.springframework.ws.client.core.WebServiceTemplate;
webServiceTemplate.marshalSendAndReceive(url, request);