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

How to add a namespace without a prefix into a SOAP request method tag using SAAJ?

我正在尝试 assemble 使用 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");

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

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

添加具有 默认命名空间methodName 元素,更改

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

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