int[] を入力および出力として取得する Web サービスのクライアントを作成しようとしています。SoapRequest が Xml を使用して配列を転送する方法を示す Soap Request のサンプルを見つけました。
<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 の例を再現できるようにすることです。これにより、この 2 つの数値をそれぞれ別々ではなく配列として送信できます。
どうもありがとうございました