相关疑难解决方法(0)

更改使用JAXWS生成的默认XML名称空间前缀

我正在使用JAXWS为我们正在构建的Java应用程序生成WebService客户端.

当JAXWS构建其XML以在SOAP协议中使用时,它会生成以下名称空间前缀:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Body ...>
       <!-- body goes here -->
   </env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)

我的问题是我的Counterpart(一家大型转账公司)管理我的客户端连接的服务器,拒绝接受WebService调用(请不要问我的原因),除非XMLNS(XML namepspace前缀是soapenv).像这样:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body ...>
       <!-- body goes here -->
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

有没有办法命令JAXWS(或任何其他Java WS客户端技术)使用soapenv而不是env作为XMLNS前缀来生成客户端?是否有API调用来设置此信息?

谢谢!

java web-services jax-ws webservice-client xml-namespaces

14
推荐指数
2
解决办法
3万
查看次数