没有名称空间的肥皂标头
我想创建一个肥皂标头。这应该包含一个无需名称空间的元素令牌。如果我不给出命名空间,我会得到“标头元素必须是名称空间合格”错误。 以下是我编写的代码。
QName QUsername =
new QName("http://xxxx", "Token");
SOAPHeaderElement soapHeader = soapMessage.getSOAPHeader().addHeaderElement(QUsername);
soapHeader.addTextNode("XXX");
QName header1 = new QName("http://xxxx", "sHeader");
soapMessage.getSOAPHeader().addHeaderElement(header1).addChildElement(soapHeader);
我得到的输出是:
<soap:Header>
<sHeader xmlns="http://xxx">
<Token xmlns="http://xxx">
XXXX
</Token>
</sHeader>
</soap:Header>
预期的肥皂标头:
<soap:Header>
<sHeader xmlns="http://xxxx">
<Token>XXXX</Token>
</sHeader>
</soap:Header>
I want to create a SOAP header. That should contain an Element Token without namespace. If I don't give namespace I'm getting the "Header element must be namespace-qualified" error.
Below is the code I wrote.
QName QUsername =
new QName("http://xxxx", "Token");
SOAPHeaderElement soapHeader = soapMessage.getSOAPHeader().addHeaderElement(QUsername);
soapHeader.addTextNode("XXX");
QName header1 = new QName("http://xxxx", "sHeader");
soapMessage.getSOAPHeader().addHeaderElement(header1).addChildElement(soapHeader);
Output I'm getting is:
<soap:Header>
<sHeader xmlns="http://xxx">
<Token xmlns="http://xxx">
XXXX
</Token>
</sHeader>
</soap:Header>
Expected soap header:
<soap:Header>
<sHeader xmlns="http://xxxx">
<Token>XXXX</Token>
</sHeader>
</soap:Header>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果将令牌元素附加到
Sheader
元素,则可以按预期工作。令牌
默认名称空间(无前缀)是从sheader
parent继承的。结果(格式化):
It works as expected if token element is appended to
sHeader
element. TheToken
default namespace (no prefix) is inherited fromsHeader
parent.Result (formatted):