为重现Soap Request示例的SOAP消息创建Java代码

时间:2012-10-15 18:47:07

标签: java xml soap

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

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

<myFavoriteNumbers
  SOAP-ENC:arrayType="xsd:int[2]">
   <number>3</number> 
   <number>4</number> 
</myFavoriteNumbers>

我的代码到现在为止

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));

所有我需要的是转换我当前的SoapMessage,以便它可以重现给定的Xml示例,这样它就可以将这两个数字作为一个数组发送,而不是每一个都分开。

非常感谢

0 个答案:

没有答案