JAX-WS如何向soap请求添加其他名称空间

问题描述

我有一个用JAX-WS生成的Web服务客户端。我的客户以以下形式发送请求:

<?xml version="1.0"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <rppe:ApiKey xmlns="">XXXXXXXXXXXX</rppe:ApiKey>
  </S:Header>
  <S:Body>
    <FindResident xmlns="http://something">
      <FindResidentRequest>
        <Kzz>XXXXXXXXXX</Kzz>
      </FindResidentRequest>
    </FindResident>
  </S:Body>
</S:Envelope>

我得到了

的回应
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Client</faultcode>
      <faultstring>Error reading XMLStreamReader.</faultstring>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>

但是如果我使用soapUI生成请求,则会收到下一个请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rppe="http://something">
   <soapenv:Header>
      <rppe:ApiKey>XXXXXXXXXXXX</rppe:ApiKey>
   </soapenv:Header>
   <soapenv:Body>
      <rppe:FindResident>
         <rppe:FindResidentRequest>
            <rppe:Kzz>XXXXXXXXXX</rppe:Kzz>
         </rppe:FindResidentRequest>
      </rppe:FindResident>
   </soapenv:Body>
</soapenv:Envelope>

对于服务器来说,这似乎工作正常,所以我的问题是如何在JAX-WS中的SOAP信封元素中添加名称空间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)