Hi Jen-Ya,
looking at the code generated by the wsdl2java tool reveals, where the
soap envelope gets stored
org.apache.axis2.context.MessageContext _messageContext =
getMessageContext();
_messageContext.setEnvelope(env);
The _messageContext object, which seems to be connected to the
_configurationContext object ( everything in context of the stub object
) has the method
getEnvelope to get hold of the soap envelope.
org.apache.axis2.soap.SOAPEnvelope env = _messageContext.getEnvelope();
Once you have the soap envelope, you hold in your hands all the options
- like get all headers
env.getHeader().extractAllHeaderBlocks
- insert a new header
env.getHeader()..addChild( OMNode );
Remember, the soap specific objects like SOAPEnvelope or SOAPheader are
derived from the generic OM objects, with all their flexibility.
Jen-Ya Ku wrote:
Hi, All:
In Axis, we can use following to get headers: However, for Axis2
service, how to get/set header?
Thanks for your info.
Thanks,
Jen-Ya
---------------------------------------------------------------------------------------------------------------------------------
// Axis1x Get current message context
MessageContext ctx =
org.apache.axis.MessageContext.getCurrentContext();
// Get SOAP envelope of request
SOAPEnvelope env = ctx.getRequestMessage().getSOAPEnvelope();
// Get Header
SOAPHeaderElement soapHeaderElement =
env.getHeaderByName(headerNamespace, headerName);
-----------------------------------------------------------------------------------------------------