0

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 つの数値をそれぞれ別々ではなく配列として送信できます。

どうもありがとうございました

4

0 に答える 0