You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by ge...@ws.apache.org on 2005/01/12 04:23:57 UTC
[Apache Web Services Wiki] New: FrontPage/Axis/WSDLJavaHeaderServer
Date: 2005-01-11T19:23:57
Editor: ToshiyukiKimura
Wiki: Apache Web Services Wiki
Page: FrontPage/Axis/WSDLJavaHeaderServer
URL: http://wiki.apache.org/ws/FrontPage/Axis/WSDLJavaHeaderServer
Importing old wiki ...
New Page:
##language:en
'''Q: How do a get/set headers in my web service code?'''
A: You use the {{{ MessageContext object }}}.
Here is some example code
{{{
// 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);
// Get value of header, could be a complex type!
Object value = soapHeaderElement.getObjectValue();
}}}
'''Q: How do I set a header in the response to the client?'''
A: Create a {{{ SOAPHeaderElement }}} and add it to the {{{ SOAPEnvelope }}} of the response message.
{{{
// Get current message context
MessageContext ctx = org.apache.axis.MessageContext.getCurrentContext();
// Get SOAP envelope of response
SOAPEnvelope env = ctx.getResponseMessage().getSOAPEnvelope();
// Create SOAP header object } } }
SOAPHeaderElement headerElement =
new org.apache.axis.message.SOAPHeaderElement(headerNamespace, headerName, headerValue);
headerElement.setMustUnderstand(mustUnderstand);
// Set Header
env.addHeader(headerElement);
}}}