Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
为复制SOAP请求示例的SOAP消息创建Java代码_Java_Xml_Soap - Fatal编程技术网

为复制SOAP请求示例的SOAP消息创建Java代码

为复制SOAP请求示例的SOAP消息创建Java代码,java,xml,soap,Java,Xml,Soap,我正在尝试为Web服务创建一个客户机,该服务将int[]作为输入和输出。 我找到了一个Soap请求的示例,它显示了Soap请求如何使用Xml传输数组 <element name="myFavoriteNumbers" type="SOAP-ENC:Array"/> <myFavoriteNumbers SOAP-ENC:arrayType="xsd:int[2]"> <number>3</number> <

我正在尝试为Web服务创建一个客户机,该服务将int[]作为输入和输出。 我找到了一个Soap请求的示例,它显示了Soap请求如何使用Xml传输数组

<element name="myFavoriteNumbers"
        type="SOAP-ENC:Array"/>

<myFavoriteNumbers
  SOAP-ENC:arrayType="xsd:int[2]">
   <number>3</number> 
   <number>4</number> 
</myFavoriteNumbers>
我所需要的就是转换我当前的SoapMessage,这样它就可以重现给定的Xml示例,这样它就可以将这两个数字作为一个数组发送,而不是将每个数字分开


非常感谢

我想一个
int[]
和一个“for”循环应该可以做到这一点。你必须添加同一元素的多个child。为什么不使用一些客户端生成器呢?如果您不知道,请使用netbeans或eclipse
MessageFactory mf = MessageFactory.newInstance();
SOAPMessage sm = mf.createMessage();
SOAPHeader sh = sm.getSOAPHeader();
sh.setPrefix("S");
SOAPEnvelope envelope = sm.getSOAPPart().getEnvelope();
envelope.removeNamespaceDeclaration(envelope.getPrefix());
envelope.setPrefix("S");
          envelope.addNamespaceDeclaration("S",
        "http://schemas.xmlsoap.org/soap/envelope/");
SOAPBody sb = sm.getSOAPBody();
sb.setPrefix("S");           
SOAPElement container=sb.addChildElement("sum", "ns2",  webServicePkg);         
SOAPElement a = container.addChildElement("number1");
a.addTextNode(Integer.toString(arg1));
SOAPElement b = container.addChildElement("number2");
b.addTextNode(Integer.toString(arg2));