Java EE 5 SDK

javax.xml.ws.handler.soap
Interface SOAPMessageContext

All Superinterfaces:
Map<String,Object>, MessageContext

public interface SOAPMessageContext
extends MessageContext

The interface SOAPMessageContext provides access to the SOAP message for either RPC request or response. The javax.xml.soap.SOAPMessage specifies the standard Java API for the representation of a SOAP 1.1 message with attachments.

Since:
JAX-WS 2.0
See Also:
SOAPMessage

Nested Class Summary
 
Nested classes/interfaces inherited from interface javax.xml.ws.handler.MessageContext
MessageContext.Scope
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
 
Fields inherited from interface javax.xml.ws.handler.MessageContext
HTTP_REQUEST_HEADERS, HTTP_REQUEST_METHOD, HTTP_RESPONSE_CODE, HTTP_RESPONSE_HEADERS, INBOUND_MESSAGE_ATTACHMENTS, MESSAGE_OUTBOUND_PROPERTY, OUTBOUND_MESSAGE_ATTACHMENTS, PATH_INFO, QUERY_STRING, SERVLET_CONTEXT, SERVLET_REQUEST, SERVLET_RESPONSE, WSDL_DESCRIPTION, WSDL_INTERFACE, WSDL_OPERATION, WSDL_PORT, WSDL_SERVICE
 
Method Summary
 Object[] getHeaders(QName header, JAXBContext context, boolean allRoles)
          Gets headers that have a particular qualified name from the message in the message context.
 SOAPMessage getMessage()
          Gets the SOAPMessage from this message context.
 Set<String> getRoles()
          Gets the SOAP actor roles associated with an execution of the handler chain.
 void setMessage(SOAPMessage message)
          Sets the SOAPMessage in this message context
 
Methods inherited from interface javax.xml.ws.handler.MessageContext
getScope, setScope
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Method Detail

getMessage

SOAPMessage getMessage()
Gets the SOAPMessage from this message context. Modifications to the returned SOAPMessage change the message in-place, there is no need to susequently call setMessage.

Returns:
Returns the SOAPMessage; returns null if no SOAPMessage is present in this message context

setMessage

void setMessage(SOAPMessage message)
Sets the SOAPMessage in this message context

Parameters:
message - SOAP message
Throws:
WebServiceException - If any error during the setting of the SOAPMessage in this message context
UnsupportedOperationException - If this operation is not supported

getHeaders

Object[] getHeaders(QName header,
                    JAXBContext context,
                    boolean allRoles)
Gets headers that have a particular qualified name from the message in the message context. Note that a SOAP message can contain multiple headers with the same qualified name.

Parameters:
header - The XML qualified name of the SOAP header(s).
context - The JAXBContext that should be used to unmarshall the header
allRoles - If true then returns headers for all SOAP roles, if false then only returns headers targetted at the roles currently being played by this SOAP node, see getRoles.
Returns:
An array of unmarshalled headers; returns an empty array if no message is present in this message context or no headers match the supplied qualified name.
Throws:
WebServiceException - If an error occurs when using the supplied JAXBContext to unmarshall. The cause of the WebServiceException is the original JAXBException.

getRoles

Set<String> getRoles()
Gets the SOAP actor roles associated with an execution of the handler chain. Note that SOAP actor roles apply to the SOAP node and are managed using SOAPBinding.setRoles and SOAPBinding.getRoles. Handler instances in the handler chain use this information about the SOAP actor roles to process the SOAP header blocks. Note that the SOAP actor roles are invariant during the processing of SOAP message through the handler chain.

Returns:
Array of String for SOAP actor roles

Java EE 5 SDK

Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

Scripting on this page tracks web page traffic, but does not change the content in any way.