在SOAP信封中更改基本命名空间映射

时间:2014-05-02 12:23:24

标签: java xml web-services soap wsdl

有谁知道如何更改SOAP响应的命名空间名称以匹配我从SOAP请求获取的名称?

例如,如果我从客户端获取以下SOAP请求

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body>
       <method:Login>
          <method:userName>?</method:userName>
          <method:password>?</method:password>
       </method:Login>
    </soap:Body>
</soap:Envelope>

来自服务器的SOAP响应应该像

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        ResponseString
    </soap:Body>
</soap:Envelope>

但服务器正在返回

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      Response String
   </soapenv:Body>
</soapenv:Envelope>

有什么方法可以通过Java类或其他方法在SOAP响应结构中动态地将xmlns:soapenv更改为xmlns:soap

0 个答案:

没有答案