如何使用SAAJ将没有前缀的命名空间添加到SOAP请求方法标记中?

时间:2016-12-06 01:05:37

标签: xml web-services soap saaj

我正在尝试使用SAAJ组装SOAP请求。

原始SOAP请求如下所示

(...)
<soapenv:Body>
 <methodName xmlns="http://xyz.abc/asdfgh">
   (...)
 </methodName>
</soapenv:Body>

使用SAAJ,我的代码看起来像

SOAPBody soapBody = envelope.getBody();
SOAPElement req= soapBody.addChildElement("methodName");
req.addNamespaceDeclaration("", "http://xyz.abc/asdfgh");

问题当然是命名空间前缀不能为空或为空。

那么在这种情况下如何生成没有前缀的SOAP请求命名空间?

1 个答案:

答案 0 :(得分:2)

要使用 默认命名空间 添加methodName元素,请更改

SOAPElement req= soapBody.addChildElement("methodName");

SOAPElement req= soapBody.addChildElement("methodName","","http://xyz.abc/asdfgh");