如何将xml文档传递给Java JWS SOAP方法?

时间:2013-05-29 12:43:02

标签: java soap wsdl

我对网络服务很陌生,我知道如何通过SOAP UI工具将一个简单的参数传递给我的方法。 WSDL是基于我的Java代码生成的。

这是我方法的实现

    @Override
    @WebMethod
   public String greetClient(String userName)
   {
      return "123  " + userName + "321...";
   }

这是SOAP-UI中soap soap中的“One Two”参数。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://test.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:sendGAFile>
         <arg0>One Two</arg0>
      </web:sendGAFile>
   </soapenv:Body>
</soapenv:Envelope>

如何将XML文档传递给我的方法?如何在SOAP UI中将xml文件添加到我的请求中?

1 个答案:

答案 0 :(得分:0)

您的代码输出将如下所示来自soap ..

 *<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
       <soap:Body>
          <ns2:giveOutputResponse xmlns:ns2="http://xmltest.sample.org/">
             <return>123  One Two321...</return>
          </ns2:giveOutputResponse>
       </soap:Body>
    </soap:Envelope>*    

如果你想传递xml请尝试如下。 您需要在从soap发送请求时使用CDATA。 除非你得到解析错误.. 至于下面的示例,您将获得xml输出。 您可以在代码中使用解析器并从xml返回require值。

    *<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xt="http://xmltest.sample.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <xt:giveOutput>
         <!--Optional:-->
        <arg0><![CDATA[<?xml version="1.0" encoding="utf-8"?><xml>One Two</xml]]></arg0>
      </xt:giveOutput>
   </soapenv:Body>
</soapenv:Envelope>*