java 如何在 SOAP Web 服务中添加多个参数

How to add Multiple Arguments In SOAP Webservice in java

Web 服务方法示例

     public String getMsg(String arg1,String arg2)
        {
            System.out.println("arg1--->"+arg1);
            System.out.println("arg2--->"+arg2);

            return "response";
        }   

客户代码

              private static SOAPMessage createSOAPRequest() throws Exception 
              {
              System.out.println("createSOAPRequest---->");
              MessageFactory messageFactory = MessageFactory.newInstance();
              SOAPMessage soapMessage = messageFactory.createMessage();
              SOAPPart soapPart = soapMessage.getSOAPPart();
              String serverURI = "http://webservice.jaipal.econnectsolution.com";  
              // SOAP Envelope
              SOAPEnvelope envelope = soapPart.getEnvelope();
              envelope.addNamespaceDeclaration("MineralWebService", serverURI);
              //SOAP Body
              SOAPBody soapBody = envelope.getBody();
              System.out.println("soapBody----->"+soapBody);
              SOAPElement soapBodyElem = soapBody.addChildElement("getMsg", "MineralWebService",serverURI);
              SOAPElement value = soapBodyElem.addChildElement("getMsg","MineralWebService");
              value.setTextContent("Arguments One");
               MimeHeaders headers = soapMessage.getMimeHeaders();
              headers.addHeader("SOAPAction", serverURI  + "add");
              System.out.println("headers----->"+headers.toString());
              soapMessage.saveChanges();
              /* Print the request message */
              System.out.print("Request SOAP Message = ");
              soapMessage.writeTo(System.out);
              System.out.println();
               return soapMessage;
          }

我想添加 wwo 参数来调用我的网络服务方法。使用上面的代码,我只能发送一个参数。

请帮我实现这个。

您是否尝试过 creating/adding 新元素,就像您为第一个参数所做的那样?

SOAPElement soapBodyElem2 = soapBody.addChildElement("getMsg", "MineralWebService",serverURI);
                  SOAPElement value2 = soapBodyElem2.addChildElement("getMsg","MineralWebService");
                  value2.setTextContent("Arguments Two");