繁体   English   中英

在Java中添加自定义的SOAP标头

[英]Adding customized SOAP Header in Java

我正在尝试为我的SOAP请求获取所需的自定义标头:

我需要的:

<soapenv:Header>
    <urn:SessionHeader>
        <urn:sessionId>abcdef1234</urn:sessionId>
    </urn:SessionHeader>
</soapenv:Header>

但是我得到的是:

<SOAP-ENV:Header>
    <urn:sessionId xmlns:urn="www.dummy.com">
        abcdef1234
    </urn:sessionId>
</SOAP-ENV:Header>

我需要从子节点中删除xmlns

以下是我正在使用的Java代码:

SOAPHeader header = soapMessage.getSOAPHeader();
SOAPHeaderElement messageId =  soapMessage.getSOAPHeader().addHeaderElement(new QName("www.dummy.com", "sessionId","urn"));
messageId.setTextContent("urn:abcdef1234");

关于如何处理这个有什么建议吗?

是的,我设法找到了解决方案,并且工作正常! @吉米

    //SOAP Header
    SOAPHeader header = soapMessage.getSOAPHeader();
    SOAPHeaderElement sessionHeader =  soapMessage.getSOAPHeader().addHeaderElement(new QName(serverM2M, "SessionHeader","urn"));
    SOAPElement sessionID = sessionHeader.addChildElement(new QName(serverM2M, "sessionId","urn"));
    sessionID.addTextNode(termTwo);

这给了我一个输出:

   <soapenv:Header>
  <urn:SessionHeader>
     <urn:sessionId>00D560000004Zxv!AQMAQGTYYqKa0NwwPNSY7QLnfn1aeyjsloOJQAvU4K53pJlPrGiI0rkdCfcEmN7va2c5caH3XmG.OvTxeU3hPAKwdlWxIlf8</urn:sessionId>
  </urn:SessionHeader>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM