Class MessageContext
- java.lang.Object
-
- org.apache.axis2.context.AbstractContext
-
- org.apache.axis2.context.MessageContext
-
- All Implemented Interfaces:
Externalizable
,Serializable
,SafeSerializable
public class MessageContext extends AbstractContext implements Externalizable, SafeSerializable
Axis2 states are held in two information models, called description hierarchy and context hierarchy. Description hierarchy hold deployment configuration and it's values does not change unless deployment configuration change occurs where Context hierarchy hold run time information. Both hierarchies consists four levels, Global, Service Group, Operation and Message. Please look at "Information Model" section of "Axis2 Architecture Guide" for more information.
MessageContext hold run time information about one Message invocation. It hold reference to OperationContext, ServiceGroupContext, and Configuration Context tied with current message. For an example if you need accesses to other messages of the current invocation, you can get to them via OperationContext. Addition to class attributes define in Message context, message context stores the information as name value pairs. Those name value pairs,and class attributes tweak the execution behavior of message context and some of them can be find in org.apache.axis2.Constants class. (TODO we should provide list of supported options). You may set them at any level of context hierarchy and they will affect invocations related to their child elements.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description org.apache.axiom.attachments.Attachments
attachments
message attachments NOTE: Serialization of message attachments is handled as part of the overall message serialization.static String
CHARACTER_SET_ENCODING
Field CHARACTER_SET_ENCODINGstatic String
CLIENT_API_NON_BLOCKING
To invoke fireAndforget method we have to hand over transport sending logic to a thread other wise user has to wait till it get transport response (in the case of HTTP its HTTP 202) 202).static ThreadLocal<MessageContext>
currentMessageContext
A place to store the current MessageContextstatic String
DEFAULT_CHAR_SET_ENCODING
Field DEFAULT_CHAR_SET_ENCODING.static String
DISABLE_ASYNC_CALLBACK_ON_TRANSPORT_ERROR
This property allows someone (e.g.int
FLOW
static int
IN_FAULT_FLOW
static int
IN_FLOW
static String
IN_MESSAGE_CONTEXT
Constant used as the key for the property which stores the In MessageContext in the Out MessageContext/FaultMessageContext.protected Options
options
static int
OUT_FAULT_FLOW
static int
OUT_FLOW
boolean
outputWritten
static String
REMOTE_ADDR
static String
TRANSPORT_ADDR
static String
TRANSPORT_HEADERS
static String
TRANSPORT_IN
Field TRANSPORT_INstatic String
TRANSPORT_OUT
Field TRANSPORT_OUTstatic String
TRANSPORT_SUCCEED
Field TRANSPORT_SUCCEEDstatic String
UTF_16
Field UTF_16.static String
UTF_8
Field UTF_8.-
Fields inherited from class org.apache.axis2.context.AbstractContext
COPY_PROPERTIES, lastTouchedTime, parent, properties
-
-
Constructor Summary
Constructors Constructor Description MessageContext()
Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
activate(ConfigurationContext cc)
This method checks to see if additional work needs to be done in order to complete the object reconstitution.void
activateWithOperationContext(OperationContext operationCtx)
This method checks to see if additional work needs to be done in order to complete the object reconstitution.void
addAttachment(String contentID, DataHandler dataHandler)
Adds an attachment to the attachment Map of this message context.String
addAttachment(DataHandler dataHandler)
Adds an attachment to the attachment Map of this message context.void
addExecutedPhase(Handler phase)
Add a Phase to the collection of executed phases for the path.void
addRelatesTo(RelatesTo reference)
Add a RelatesToboolean
containsSelfManagedDataKey(Class clazz, Object key)
Check to see if the key for the self managed data is availablestatic void
destroyCurrentMessageContext()
MessageContext
extractCopyMessageContext()
Return a Read-Only copy of this message context that has been extracted from the object hierachy.AxisEndpoint
findEndpoint()
DataHandler
getAttachment(String contentID)
Access the DataHandler of the attachment contained in the map corresponding to the given content ID.org.apache.axiom.attachments.Attachments
getAttachmentMap()
You can directly access the attachment map of the message context from here.org.apache.axiom.attachments.Attachments
getAttachmentMap(boolean create)
AxisMessage
getAxisMessage()
AxisOperation
getAxisOperation()
AxisService
getAxisService()
AxisServiceGroup
getAxisServiceGroup()
ConfigurationContext
getConfigurationContext()
int
getCurrentHandlerIndex()
static MessageContext
getCurrentMessageContext()
int
getCurrentPhaseIndex()
org.apache.neethi.Policy
getEffectivePolicy()
org.apache.axiom.soap.SOAPEnvelope
getEnvelope()
Iterator<Handler>
getExecutedPhases()
Get an iterator over the executed phase list.ArrayList<Handler>
getExecutionChain()
Exception
getFailureReason()
Obtain the Exception which caused the processing chain to halt.EndpointReference
getFaultTo()
int
getFLOW()
EndpointReference
getFrom()
String
getIncomingTransportName()
Object
getLocalProperty(String name)
Retrieves a property value.Object
getLocalProperty(String name, boolean searchOptions)
String
getLogCorrelationID()
Get a "raw" version of the logCorrelationID.String
getLogIDString()
Get a formatted version of the logCorrelationID.String
getMessageID()
Parameter
getModuleParameter(String key, String moduleName, HandlerDescription handler)
Retrieves both module specific configuration parameters as well as other parameters.OperationContext
getOperationContext()
Options
getOptions()
Parameter
getParameter(String key)
Retrieves configuration descriptor parameters at any level.Map<String,Object>
getProperties()
Retrieves all property values.Object
getProperty(String name)
Retrieves a property value.RelatesTo
getRelatesTo()
RelatesTo
getRelatesTo(String type)
Get any RelatesTos of a particular type associated with this MessageContext TODO: Shouldn't this return a List?RelatesTo[]
getRelationships()
EndpointReference
getReplyTo()
ConfigurationContext
getRootContext()
Object
getSelfManagedData(Class clazz, Object key)
Retrieve a value of self managed data previously saved with the specified key.ServiceContext
getServiceContext()
String
getServiceContextID()
ServiceGroupContext
getServiceGroupContext()
String
getServiceGroupContextId()
SessionContext
getSessionContext()
String
getSoapAction()
EndpointReference
getTo()
TransportInDescription
getTransportIn()
TransportOutDescription
getTransportOut()
String
getWSAAction()
boolean
isDoingMTOM()
boolean
isDoingREST()
boolean
isDoingSwA()
boolean
isEngaged(String moduleName)
boolean
isFault()
boolean
isHeaderPresent()
Deprecated.The bonus you used to get from this is now built in to SOAPEnvelope.getHeader()boolean
isNewThreadRequired()
boolean
isOutputWritten()
boolean
isPaused()
boolean
isProcessingFault()
boolean
isPropertyTrue(String name)
Check if a given property is true.boolean
isPropertyTrue(String name, boolean defaultVal)
Check if a given property is true.boolean
isResponseWritten()
boolean
isServerSide()
boolean
isSOAP11()
void
pause()
Pause the execution of the current handler chainvoid
readExternal(ObjectInput inObject)
Restore the contents of the MessageContext that was previously saved.void
removeAttachment(String contentID)
Removes the attachment with the given content ID from the Attachments Map Do nothing if a attachment cannot be found by the given content ID.void
removeFirstExecutedPhase()
Remove the first Phase in the collection of executed phasesvoid
removeSelfManagedData(Class clazz, Object key)
Removes the mapping of the specified key if the specified key has been set for self managed datavoid
resetExecutedPhases()
Reset the list of executed phases.void
setAttachmentMap(org.apache.axiom.attachments.Attachments attachments)
Setting of the attachments map should be performed at the receipt of a message only.void
setAxisMessage(AxisMessage axisMessage)
void
setAxisOperation(AxisOperation axisOperation)
void
setAxisService(AxisService axisService)
void
setAxisServiceGroup(AxisServiceGroup axisServiceGroup)
void
setConfigurationContext(ConfigurationContext context)
void
setCurrentHandlerIndex(int currentHandlerIndex)
static void
setCurrentMessageContext(MessageContext ctx)
void
setCurrentPhaseIndex(int currentPhaseIndex)
void
setDoingMTOM(boolean b)
void
setDoingREST(boolean b)
void
setDoingSwA(boolean b)
void
setEnvelope(org.apache.axiom.soap.SOAPEnvelope envelope)
void
setExecutedPhasesExplicit(LinkedList<Handler> inb)
void
setExecutionChain(ArrayList<Handler> executionChain)
Set the execution chain of Handler in this MessageContext.void
setFailureReason(Exception failureReason)
Set the failure reason.void
setFaultTo(EndpointReference reference)
void
setFLOW(int FLOW)
void
setFrom(EndpointReference reference)
void
setIncomingTransportName(String incomingTransportName)
void
setIsSOAP11Explicit(boolean t)
void
setMessageID(String messageId)
void
setNewThreadRequired(boolean b)
void
setOperationContext(OperationContext context)
void
setOptions(Options options)
Set the options for myself.void
setOptionsExplicit(Options op)
void
setOutputWritten(boolean b)
void
setPaused(boolean paused)
void
setProcessingFault(boolean b)
void
setRelationships(RelatesTo[] list)
void
setReplyTo(EndpointReference reference)
Set ReplyTo destinationvoid
setResponseWritten(boolean b)
void
setSelfManagedData(Class clazz, Object key, Object value)
Add a key-value pair of self managed data to the set associated with this message context.void
setSelfManagedDataMapExplicit(LinkedHashMap<String,Object> map)
void
setServerSide(boolean b)
void
setServiceContext(ServiceContext context)
void
setServiceContextID(String serviceContextID)
Sets the service context id.void
setServiceGroupContext(ServiceGroupContext serviceGroupContext)
void
setServiceGroupContextId(String serviceGroupContextId)
void
setSessionContext(SessionContext sessionContext)
void
setSoapAction(String soapAction)
void
setTo(EndpointReference to)
void
setTransportIn(TransportInDescription in)
void
setTransportOut(TransportOutDescription out)
void
setWSAAction(String actionURI)
setWSAActionvoid
setWSAMessageId(String messageID)
String
toString()
void
writeExternal(ObjectOutput o)
Save the contents of this MessageContext instance.-
Methods inherited from class org.apache.axis2.context.AbstractContext
clearPropertyDifferences, flush, getLastTouchedTime, getParent, getPropertyDifferences, getPropertyNames, getPropertyNonReplicable, isAncestor, mergeProperties, removeProperty, removePropertyNonReplicable, setLastTouchedTime, setNonReplicableProperty, setParent, setProperties, setProperty, touch
-
-
-
-
Field Detail
-
currentMessageContext
public static ThreadLocal<MessageContext> currentMessageContext
A place to store the current MessageContext
-
options
protected Options options
-
IN_FLOW
public static final int IN_FLOW
- See Also:
- Constant Field Values
-
IN_FAULT_FLOW
public static final int IN_FAULT_FLOW
- See Also:
- Constant Field Values
-
OUT_FLOW
public static final int OUT_FLOW
- See Also:
- Constant Field Values
-
OUT_FAULT_FLOW
public static final int OUT_FAULT_FLOW
- See Also:
- Constant Field Values
-
REMOTE_ADDR
public static final String REMOTE_ADDR
- See Also:
- Constant Field Values
-
TRANSPORT_ADDR
public static final String TRANSPORT_ADDR
- See Also:
- Constant Field Values
-
TRANSPORT_HEADERS
public static final String TRANSPORT_HEADERS
- See Also:
- Constant Field Values
-
IN_MESSAGE_CONTEXT
public static final String IN_MESSAGE_CONTEXT
Constant used as the key for the property which stores the In MessageContext in the Out MessageContext/FaultMessageContext. This is needed in cases where an OperationContext is not created, for example, since the request never gets dispatched to the service operation, either due to a security failure or a request coming in for a non-existing endpoint- See Also:
- Constant Field Values
-
attachments
public transient org.apache.axiom.attachments.Attachments attachments
message attachments NOTE: Serialization of message attachments is handled as part of the overall message serialization. If this needs to change, then investigate having the Attachment class implement the java.io.Externalizable interface.
-
TRANSPORT_OUT
public static final String TRANSPORT_OUT
Field TRANSPORT_OUT- See Also:
- Constant Field Values
-
TRANSPORT_IN
public static final String TRANSPORT_IN
Field TRANSPORT_IN- See Also:
- Constant Field Values
-
CHARACTER_SET_ENCODING
public static final String CHARACTER_SET_ENCODING
Field CHARACTER_SET_ENCODING- See Also:
- Constant Field Values
-
UTF_8
public static final String UTF_8
Field UTF_8. This is the 'utf-8' value for CHARACTER_SET_ENCODING property.- See Also:
- Constant Field Values
-
UTF_16
public static final String UTF_16
Field UTF_16. This is the 'utf-16' value for CHARACTER_SET_ENCODING property.- See Also:
- Constant Field Values
-
TRANSPORT_SUCCEED
public static final String TRANSPORT_SUCCEED
Field TRANSPORT_SUCCEED- See Also:
- Constant Field Values
-
DEFAULT_CHAR_SET_ENCODING
public static final String DEFAULT_CHAR_SET_ENCODING
Field DEFAULT_CHAR_SET_ENCODING. This is the default value for CHARACTER_SET_ENCODING property.- See Also:
- Constant Field Values
-
FLOW
public int FLOW
-
CLIENT_API_NON_BLOCKING
public static final String CLIENT_API_NON_BLOCKING
To invoke fireAndforget method we have to hand over transport sending logic to a thread other wise user has to wait till it get transport response (in the case of HTTP its HTTP 202) 202). This was eariler named TRANSPORT_NON_BLOCKING, but that name is wrong as transport non blocking is NIO, which has nothing to do with this property. See https://issues.apache.org/jira/browse/AXIS2-4196. Renaming this to CLIENT_API_NON_BLOCKING instead.- See Also:
- Constant Field Values
-
DISABLE_ASYNC_CALLBACK_ON_TRANSPORT_ERROR
public static final String DISABLE_ASYNC_CALLBACK_ON_TRANSPORT_ERROR
This property allows someone (e.g. RM) to disable an async callback from being invoked if a fault occurs during message transmission. If this is not set, it can be assumed that the fault will be delivered via Callback.onError(...).- See Also:
- Constant Field Values
-
outputWritten
public boolean outputWritten
-
-
Method Detail
-
getCurrentMessageContext
public static MessageContext getCurrentMessageContext()
-
destroyCurrentMessageContext
public static void destroyCurrentMessageContext()
-
setCurrentMessageContext
public static void setCurrentMessageContext(MessageContext ctx)
-
getLogCorrelationID
public String getLogCorrelationID()
Get a "raw" version of the logCorrelationID. The logCorrelationID is guaranteed to be unique and may be persisted along with the rest of the message context.- Returns:
- A string that can be output to a log file as an identifier for this MessageContext. It is suitable for matching related log entries.
-
getLogIDString
public String getLogIDString()
Get a formatted version of the logCorrelationID.- Returns:
- A string that can be output to a log file as an identifier for this MessageContext. It is suitable for matching related log entries.
-
pause
public void pause()
Pause the execution of the current handler chain
-
getAxisOperation
public AxisOperation getAxisOperation()
-
getAxisService
public AxisService getAxisService()
-
getAxisServiceGroup
public AxisServiceGroup getAxisServiceGroup()
-
getConfigurationContext
public ConfigurationContext getConfigurationContext()
-
getCurrentHandlerIndex
public int getCurrentHandlerIndex()
-
getCurrentPhaseIndex
public int getCurrentPhaseIndex()
-
getEnvelope
public org.apache.axiom.soap.SOAPEnvelope getEnvelope()
- Returns:
- Returns SOAPEnvelope.
-
addExecutedPhase
public void addExecutedPhase(Handler phase)
Add a Phase to the collection of executed phases for the path. Phases will be inserted in a LIFO data structure.- Parameters:
phase
- The phase to add to the list.
-
removeFirstExecutedPhase
public void removeFirstExecutedPhase()
Remove the first Phase in the collection of executed phases
-
getExecutedPhases
public Iterator<Handler> getExecutedPhases()
Get an iterator over the executed phase list.- Returns:
- An Iterator over the LIFO data structure.
-
resetExecutedPhases
public void resetExecutedPhases()
Reset the list of executed phases. This is needed because the OutInAxisOperation currently invokes receive() even when a fault occurs, and we will have already executed the flowComplete on those before receiveFault() is called.
-
getFaultTo
public EndpointReference getFaultTo()
- Returns:
- Returns EndpointReference.
-
getFrom
public EndpointReference getFrom()
- Returns:
- Returns EndpointReference.
-
getMessageID
public String getMessageID()
- Returns:
- Returns message id.
-
getModuleParameter
public Parameter getModuleParameter(String key, String moduleName, HandlerDescription handler)
Retrieves both module specific configuration parameters as well as other parameters. The order of search is as follows:- Search in module configurations inside corresponding operation description if its there
- Search in corresponding operation if its there
- Search in module configurations inside corresponding service description if its there
- Next search in Corresponding Service description if its there
- Next search in module configurations inside axisConfiguration
- Search in AxisConfiguration for parameters
- Next get the corresponding module and search for the parameters
- Search in HandlerDescription for the parameter
N/A - Parameters:
key
- : Parameter NamemoduleName
- : Name of the modulehandler
-HandlerDescription
- Returns:
- Parameter
Parameter
-
getOperationContext
public OperationContext getOperationContext()
-
getParameter
public Parameter getParameter(String key)
Retrieves configuration descriptor parameters at any level. The order of search is as follows:- Search in message description if it exists
- If parameter is not found or if axisMessage is null, search in AxisOperation
- If parameter is not found or if operationContext is null, search in AxisService
- If parameter is not found or if axisService is null, search in AxisConfiguration
- Parameters:
key
- name of desired parameter- Returns:
- Parameter
Parameter
-
getLocalProperty
public Object getLocalProperty(String name)
Retrieves a property value. The order of search is as follows: search in my own map and then look at my options. Does not search up the hierarchy.- Overrides:
getLocalProperty
in classAbstractContext
- Parameters:
name
- name of the property to search for- Returns:
- the value of the property, or null if the property is not found
-
getProperty
public Object getProperty(String name)
Retrieves a property value. The order of search is as follows: search in my own map and then look in my context hierarchy, and then in options. Since its possible that the entire hierarchy is not present, I will start at whatever level has been set.- Overrides:
getProperty
in classAbstractContext
- Parameters:
name
- name of the property to search for- Returns:
- the value of the property, or null if the property is not found
-
isPropertyTrue
public boolean isPropertyTrue(String name)
Check if a given property is true. Will return false if the property does not exist or is not an explicit "true" value.- Parameters:
name
- name of the property to check- Returns:
- true if the property exists and is Boolean.TRUE, "true", 1, etc.
-
isPropertyTrue
public boolean isPropertyTrue(String name, boolean defaultVal)
Check if a given property is true. Will return the passed default if the property does not exist.- Parameters:
name
- name of the property to checkdefaultVal
- the default value if the property doesn't exist- Returns:
- true if the property exists and is Boolean.TRUE, "true", 1, etc.
-
getProperties
public Map<String,Object> getProperties()
Retrieves all property values. The order of search is as follows: search in my own options and then look in my context hierarchy. Since its possible that the entire hierarchy is not present, it will start at whatever level has been set and start there. The returned map is unmodifiable, so any changes to the properties have to be done by callingAbstractContext.setProperty(String,Object)
. In addition, any changes to the properties are not reflected on this map.- Overrides:
getProperties
in classAbstractContext
- Returns:
- An unmodifiable map containing the combination of all available properties or an empty map.
-
getRelationships
public RelatesTo[] getRelationships()
- Returns:
- Returns RelatesTo array.
-
getRelatesTo
public RelatesTo getRelatesTo(String type)
Get any RelatesTos of a particular type associated with this MessageContext TODO: Shouldn't this return a List?- Parameters:
type
- the relationship type- Returns:
- Returns RelatesTo.
-
getRelatesTo
public RelatesTo getRelatesTo()
- Returns:
- Returns RelatesTo.
-
getReplyTo
public EndpointReference getReplyTo()
- Returns:
- Returns EndpointReference.
-
getServiceContext
public ServiceContext getServiceContext()
- Returns:
- Returns ServiceContext.
-
getServiceContextID
public String getServiceContextID()
- Returns:
- Returns the serviceContextID.
-
getServiceGroupContext
public ServiceGroupContext getServiceGroupContext()
-
getServiceGroupContextId
public String getServiceGroupContextId()
-
getSessionContext
public SessionContext getSessionContext()
- Returns:
- Returns SessionContext.
-
setSessionContext
public void setSessionContext(SessionContext sessionContext)
-
getSoapAction
public String getSoapAction()
- Returns:
- Returns soap action.
-
getTo
public EndpointReference getTo()
- Returns:
- Returns EndpointReference.
-
getTransportIn
public TransportInDescription getTransportIn()
- Returns:
- Returns TransportInDescription.
-
getTransportOut
public TransportOutDescription getTransportOut()
- Returns:
- Returns TransportOutDescription.
-
getWSAAction
public String getWSAAction()
-
isDoingMTOM
public boolean isDoingMTOM()
- Returns:
- Returns boolean.
-
isDoingREST
public boolean isDoingREST()
- Returns:
- Returns boolean.
-
isDoingSwA
public boolean isDoingSwA()
- Returns:
- Returns boolean.
-
isNewThreadRequired
public boolean isNewThreadRequired()
- Returns:
- Returns boolean.
-
isOutputWritten
public boolean isOutputWritten()
- Returns:
- Returns boolean.
-
isPaused
public boolean isPaused()
- Returns:
- Returns boolean.
-
setPaused
public void setPaused(boolean paused)
-
isProcessingFault
public boolean isProcessingFault()
- Returns:
- Returns boolean.
-
isResponseWritten
public boolean isResponseWritten()
- Returns:
- Returns boolean.
-
isSOAP11
public boolean isSOAP11()
-
isServerSide
public boolean isServerSide()
- Returns:
- Returns boolean.
-
getAxisMessage
public AxisMessage getAxisMessage()
-
setAxisMessage
public void setAxisMessage(AxisMessage axisMessage)
-
setAxisOperation
public void setAxisOperation(AxisOperation axisOperation)
-
setAxisService
public void setAxisService(AxisService axisService)
-
setAxisServiceGroup
public void setAxisServiceGroup(AxisServiceGroup axisServiceGroup)
-
setConfigurationContext
public void setConfigurationContext(ConfigurationContext context)
- Parameters:
context
-
-
setCurrentHandlerIndex
public void setCurrentHandlerIndex(int currentHandlerIndex)
-
setCurrentPhaseIndex
public void setCurrentPhaseIndex(int currentPhaseIndex)
-
setDoingMTOM
public void setDoingMTOM(boolean b)
- Parameters:
b
-
-
setDoingREST
public void setDoingREST(boolean b)
- Parameters:
b
-
-
setDoingSwA
public void setDoingSwA(boolean b)
- Parameters:
b
-
-
setEnvelope
public void setEnvelope(org.apache.axiom.soap.SOAPEnvelope envelope) throws AxisFault
- Parameters:
envelope
-- Throws:
AxisFault
-
setExecutionChain
public void setExecutionChain(ArrayList<Handler> executionChain)
Set the execution chain of Handler in this MessageContext. Doing this causes the current handler/phase indexes to reset to 0, since we have new Handlers to execute (this usually only happens at initialization and when a fault occurs).- Parameters:
executionChain
-
-
setFaultTo
public void setFaultTo(EndpointReference reference)
- Parameters:
reference
-
-
setFrom
public void setFrom(EndpointReference reference)
- Parameters:
reference
-
-
setMessageID
public void setMessageID(String messageId)
- Parameters:
messageId
-
-
setNewThreadRequired
public void setNewThreadRequired(boolean b)
- Parameters:
b
-
-
setOperationContext
public void setOperationContext(OperationContext context)
- Parameters:
context
- The OperationContext
-
setOutputWritten
public void setOutputWritten(boolean b)
- Parameters:
b
-
-
setProcessingFault
public void setProcessingFault(boolean b)
- Parameters:
b
-
-
addRelatesTo
public void addRelatesTo(RelatesTo reference)
Add a RelatesTo- Parameters:
reference
- RelatesTo describing how we relate to another message
-
setReplyTo
public void setReplyTo(EndpointReference reference)
Set ReplyTo destination- Parameters:
reference
- the ReplyTo EPR
-
setResponseWritten
public void setResponseWritten(boolean b)
- Parameters:
b
-
-
setServerSide
public void setServerSide(boolean b)
- Parameters:
b
-
-
setServiceContext
public void setServiceContext(ServiceContext context)
- Parameters:
context
-
-
setServiceContextID
public void setServiceContextID(String serviceContextID)
Sets the service context id.- Parameters:
serviceContextID
-
-
setServiceGroupContext
public void setServiceGroupContext(ServiceGroupContext serviceGroupContext)
-
setServiceGroupContextId
public void setServiceGroupContextId(String serviceGroupContextId)
-
setSoapAction
public void setSoapAction(String soapAction)
- Parameters:
soapAction
-
-
setTo
public void setTo(EndpointReference to)
- Parameters:
to
-
-
setTransportIn
public void setTransportIn(TransportInDescription in)
- Parameters:
in
-
-
setTransportOut
public void setTransportOut(TransportOutDescription out)
- Parameters:
out
-
-
setWSAAction
public void setWSAAction(String actionURI)
setWSAAction
-
setWSAMessageId
public void setWSAMessageId(String messageID)
-
getFLOW
public int getFLOW()
-
setFLOW
public void setFLOW(int FLOW)
-
getOptions
public Options getOptions()
-
setOptions
public void setOptions(Options options)
Set the options for myself. I make the given options my own options' parent so that that becomes the default. That allows the user to override specific options on a given message context and not affect the overall options.- Parameters:
options
- the options to set
-
getIncomingTransportName
public String getIncomingTransportName()
-
setIncomingTransportName
public void setIncomingTransportName(String incomingTransportName)
-
setRelationships
public void setRelationships(RelatesTo[] list)
-
getEffectivePolicy
public org.apache.neethi.Policy getEffectivePolicy()
-
isEngaged
public boolean isEngaged(String moduleName)
-
isHeaderPresent
public boolean isHeaderPresent()
Deprecated.The bonus you used to get from this is now built in to SOAPEnvelope.getHeader()Gets the first child of the envelope, check if it is a soap:Body, which means there is no header. We do this basically to make sure we don't parse and build the om tree of the whole envelope looking for the soap header. If this method returns true, there still is no guarantee that there is a soap:Header present, use getHeader() and also check for null on getHeader() to be absolutely sure.- Returns:
- boolean
-
setAttachmentMap
public void setAttachmentMap(org.apache.axiom.attachments.Attachments attachments)
Setting of the attachments map should be performed at the receipt of a message only. This method is only meant to be used by the Axis2 internals.- Parameters:
attachments
-
-
getAttachmentMap
public org.apache.axiom.attachments.Attachments getAttachmentMap()
You can directly access the attachment map of the message context from here. Returned attachment map can be empty.- Returns:
- attachment
-
getAttachmentMap
public org.apache.axiom.attachments.Attachments getAttachmentMap(boolean create)
-
addAttachment
public void addAttachment(String contentID, DataHandler dataHandler)
Adds an attachment to the attachment Map of this message context. This attachment gets serialised as a MIME attachment when sending the message if SOAP with Attachments is enabled.- Parameters:
contentID
- : will be the content ID of the MIME part (without the "cid:" prefix)dataHandler
-
-
addAttachment
public String addAttachment(DataHandler dataHandler)
Adds an attachment to the attachment Map of this message context. This attachment gets serialised as a MIME attachment when sending the message if SOAP with Attachments is enabled. Content ID of the MIME part will be auto generated by Axis2.- Parameters:
dataHandler
-- Returns:
- the auto generated content ID of the MIME attachment
-
getAttachment
public DataHandler getAttachment(String contentID)
Access the DataHandler of the attachment contained in the map corresponding to the given content ID. Returns "NULL" if a attachment cannot be found by the given content ID.- Parameters:
contentID
- : Content ID of the MIME attachment (without the "cid:" prefix)- Returns:
- Data handler of the attachment
-
removeAttachment
public void removeAttachment(String contentID)
Removes the attachment with the given content ID from the Attachments Map Do nothing if a attachment cannot be found by the given content ID.- Parameters:
contentID
- of the attachment (without the "cid:" prefix)
-
setSelfManagedData
public void setSelfManagedData(Class clazz, Object key, Object value)
Add a key-value pair of self managed data to the set associated with this message context. This is primarily intended to allow handlers to manage their own message-specific data when the message context is saved/restored.- Parameters:
clazz
- The class of the caller that owns the key-value pairkey
- The key for this data objectvalue
- The data object
-
getSelfManagedData
public Object getSelfManagedData(Class clazz, Object key)
Retrieve a value of self managed data previously saved with the specified key.- Parameters:
clazz
- The class of the caller that owns the key-value pairkey
- The key for the data- Returns:
- The data object associated with the key, or NULL if not found
-
containsSelfManagedDataKey
public boolean containsSelfManagedDataKey(Class clazz, Object key)
Check to see if the key for the self managed data is available- Parameters:
clazz
- The class of the caller that owns the key-value pairkey
- The key to look for- Returns:
- TRUE if the key exists, FALSE otherwise
-
removeSelfManagedData
public void removeSelfManagedData(Class clazz, Object key)
Removes the mapping of the specified key if the specified key has been set for self managed data- Parameters:
clazz
- The class of the caller that owns the key-value pairkey
- The key of the object to be removed
-
writeExternal
public void writeExternal(ObjectOutput o) throws IOException
Save the contents of this MessageContext instance. NOTE: Transient fields and static fields are not saved. Also, objects that represent "static" data are not saved, except for enough information to be able to find matching objects when the message context is re-constituted.- Specified by:
writeExternal
in interfaceExternalizable
- Parameters:
o
- The stream to write the object contents to- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput inObject) throws IOException, ClassNotFoundException
Restore the contents of the MessageContext that was previously saved. NOTE: The field data must read back in the same order and type as it was written. Some data will need to be validated when resurrected.- Specified by:
readExternal
in interfaceExternalizable
- Parameters:
inObject
- The stream to read the object contents from- Throws:
IOException
ClassNotFoundException
-
activate
public void activate(ConfigurationContext cc)
This method checks to see if additional work needs to be done in order to complete the object reconstitution. Some parts of the object restored from the readExternal() cannot be completed until we have a configurationContext from the active engine. The configurationContext is used to help this object to plug back into the engine's configuration and deployment objects.- Parameters:
cc
- The configuration context object representing the active configuration
-
activateWithOperationContext
public void activateWithOperationContext(OperationContext operationCtx)
This method checks to see if additional work needs to be done in order to complete the object reconstitution. Some parts of the object restored from the readExternal() cannot be completed until we have an object that gives us a view of the active object graph from the active engine. NOTE: when activating an object, you only need to call one of the activate methods (activate() or activateWithOperationContext()) but not both.- Parameters:
operationCtx
- The operation context object that is a member of the active object graph
-
extractCopyMessageContext
public MessageContext extractCopyMessageContext()
Return a Read-Only copy of this message context that has been extracted from the object hierachy. In other words, the message context copy does not have links to the object graph. NOTE: The copy shares certain objects with the original. The intent is to use the copy to read values but not modify them, especially since the copy is not part of the normal *Context and Axis* object graph.- Returns:
- A copy of the message context that is not in the object graph
-
setIsSOAP11Explicit
public void setIsSOAP11Explicit(boolean t)
-
setExecutedPhasesExplicit
public void setExecutedPhasesExplicit(LinkedList<Handler> inb)
-
setSelfManagedDataMapExplicit
public void setSelfManagedDataMapExplicit(LinkedHashMap<String,Object> map)
-
setOptionsExplicit
public void setOptionsExplicit(Options op)
-
getRootContext
public ConfigurationContext getRootContext()
- Specified by:
getRootContext
in classAbstractContext
-
isFault
public boolean isFault()
-
getFailureReason
public Exception getFailureReason()
Obtain the Exception which caused the processing chain to halt.- Returns:
- null, or an Exception.
-
setFailureReason
public void setFailureReason(Exception failureReason)
Set the failure reason. Only AxisEngine should ever do this.- Parameters:
failureReason
- an Exception which caused processing to halt.
-
findEndpoint
public AxisEndpoint findEndpoint()
- Returns:
- Identifies and returns the service endpoint for this message context. The method will
use the following steps to identify the endpoint:
- If a non-null
AxisEndpoint
instance is set under theENDPOINT_LOCAL_NAME
message context property, return it - If a non-null
axisService
instance is set and it specifiesclientSide=true
, retrieve the endpoint which matches itsenpointName
- else, return
null
- If a non-null
-
-