SAAJ api provides addheader method to add soap header but we don't have similer method in axiom SOAPEnvelope. I took me a while to figure out how to do that. Below is the peace of code to achieve this in axiom SOAPEnvelope.
Actually I was trying to implement handler where I got hold of SOAPEnvelope form messagecontext and wanted to add SOAPHeader.
SOAPEnvelope env = ctx.getEnvelope();
SOAPHeader hdr = env.getHeader();
SOAPFactory factory = (SOAPFactory) env.getOMFactory();
OMNamespace ns = factory.createOMNamespace("http://ws.apache.org/axis2", "hns");
SOAPHeader head = factory.createSOAPHeader(env);
SOAPHeaderBlock header = head.addHeaderBlock("userID", ns);
header.setText("shiv");
If you happen to get hold of SOAPEnvelope you will see the following is appended in SOAPHeader section.
<soapenv:Header>
<hns:userID xmlns:hns="http://ws.apache.org/axis2">shiv</hns:userID>
</soapenv:Header>
No comments:
Post a Comment