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); -----------------------------------------------------------------------------------------------------

Reply via email to