Class MessageContext
- java.lang.Object
-
- org.apache.axis2.context.AbstractContext
-
- org.apache.axis2.context.MessageContext
-
- All Implemented Interfaces:
Externalizable,Serializable,SafeSerializable
- Direct Known Subclasses:
ScriptMessageContext
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 Attachmentsattachmentsmessage attachments NOTE: Serialization of message attachments is handled as part of the overall message serialization.static StringCHARACTER_SET_ENCODINGField CHARACTER_SET_ENCODINGstatic StringCLIENT_API_NON_BLOCKINGTo 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>currentMessageContextA place to store the current MessageContextstatic StringDEFAULT_CHAR_SET_ENCODINGField DEFAULT_CHAR_SET_ENCODING.static StringDISABLE_ASYNC_CALLBACK_ON_TRANSPORT_ERRORThis property allows someone (e.g.intFLOWstatic intIN_FAULT_FLOWstatic intIN_FLOWstatic StringIN_MESSAGE_CONTEXTConstant used as the key for the property which stores the In MessageContext in the Out MessageContext/FaultMessageContext.protected Optionsoptionsstatic intOUT_FAULT_FLOWstatic intOUT_FLOWbooleanoutputWrittenstatic StringREMOTE_ADDRstatic StringTRANSPORT_ADDRstatic StringTRANSPORT_HEADERSstatic StringTRANSPORT_INField TRANSPORT_INstatic StringTRANSPORT_OUTField TRANSPORT_OUTstatic StringTRANSPORT_SUCCEEDField TRANSPORT_SUCCEEDstatic StringUTF_16Field UTF_16.static StringUTF_8Field 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 voidactivate(ConfigurationContext cc)This method checks to see if additional work needs to be done in order to complete the object reconstitution.voidactivateWithOperationContext(OperationContext operationCtx)This method checks to see if additional work needs to be done in order to complete the object reconstitution.voidaddAttachment(String contentID, DataHandler dataHandler)Adds an attachment to the attachment Map of this message context.StringaddAttachment(DataHandler dataHandler)Adds an attachment to the attachment Map of this message context.voidaddExecutedPhase(Handler phase)Add a Phase to the collection of executed phases for the path.voidaddRelatesTo(RelatesTo reference)Add a RelatesTobooleancontainsSelfManagedDataKey(Class clazz, Object key)Check to see if the key for the self managed data is availablestatic voiddestroyCurrentMessageContext()MessageContextextractCopyMessageContext()Return a Read-Only copy of this message context that has been extracted from the object hierachy.AxisEndpointfindEndpoint()DataHandlergetAttachment(String contentID)Access the DataHandler of the attachment contained in the map corresponding to the given content ID.AttachmentsgetAttachmentMap()You can directly access the attachment map of the message context from here.AttachmentsgetAttachmentMap(boolean create)AxisMessagegetAxisMessage()AxisOperationgetAxisOperation()AxisServicegetAxisService()AxisServiceGroupgetAxisServiceGroup()ConfigurationContextgetConfigurationContext()intgetCurrentHandlerIndex()static MessageContextgetCurrentMessageContext()intgetCurrentPhaseIndex()org.apache.neethi.PolicygetEffectivePolicy()SOAPEnvelopegetEnvelope()Iterator<Handler>getExecutedPhases()Get an iterator over the executed phase list.ArrayList<Handler>getExecutionChain()ExceptiongetFailureReason()Obtain the Exception which caused the processing chain to halt.EndpointReferencegetFaultTo()intgetFLOW()EndpointReferencegetFrom()StringgetIncomingTransportName()ObjectgetLocalProperty(String name)Retrieves a property value.ObjectgetLocalProperty(String name, boolean searchOptions)StringgetLogCorrelationID()Get a "raw" version of the logCorrelationID.StringgetLogIDString()Get a formatted version of the logCorrelationID.StringgetMessageID()ParametergetModuleParameter(String key, String moduleName, HandlerDescription handler)Retrieves both module specific configuration parameters as well as other parameters.OperationContextgetOperationContext()OptionsgetOptions()ParametergetParameter(String key)Retrieves configuration descriptor parameters at any level.Map<String,Object>getProperties()Retrieves all property values.ObjectgetProperty(String name)Retrieves a property value.RelatesTogetRelatesTo()RelatesTogetRelatesTo(String type)Get any RelatesTos of a particular type associated with this MessageContext TODO: Shouldn't this return a List?RelatesTo[]getRelationships()EndpointReferencegetReplyTo()ConfigurationContextgetRootContext()ObjectgetSelfManagedData(Class clazz, Object key)Retrieve a value of self managed data previously saved with the specified key.ServiceContextgetServiceContext()StringgetServiceContextID()ServiceGroupContextgetServiceGroupContext()StringgetServiceGroupContextId()SessionContextgetSessionContext()StringgetSoapAction()EndpointReferencegetTo()TransportInDescriptiongetTransportIn()TransportOutDescriptiongetTransportOut()StringgetWSAAction()booleanisDoingMTOM()booleanisDoingREST()booleanisDoingSwA()booleanisEngaged(String moduleName)booleanisFault()booleanisHeaderPresent()Deprecated.The bonus you used to get from this is now built in to SOAPEnvelope.getHeader()booleanisNewThreadRequired()booleanisOutputWritten()booleanisPaused()booleanisProcessingFault()booleanisPropertyTrue(String name)Check if a given property is true.booleanisPropertyTrue(String name, boolean defaultVal)Check if a given property is true.booleanisResponseWritten()booleanisServerSide()booleanisSOAP11()voidpause()Pause the execution of the current handler chainvoidreadExternal(ObjectInput inObject)Restore the contents of the MessageContext that was previously saved.voidremoveAttachment(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.voidremoveFirstExecutedPhase()Remove the first Phase in the collection of executed phasesvoidremoveSelfManagedData(Class clazz, Object key)Removes the mapping of the specified key if the specified key has been set for self managed datavoidresetExecutedPhases()Reset the list of executed phases.voidsetAttachmentMap(Attachments attachments)Setting of the attachments map should be performed at the receipt of a message only.voidsetAxisMessage(AxisMessage axisMessage)voidsetAxisOperation(AxisOperation axisOperation)voidsetAxisService(AxisService axisService)voidsetAxisServiceGroup(AxisServiceGroup axisServiceGroup)voidsetConfigurationContext(ConfigurationContext context)voidsetCurrentHandlerIndex(int currentHandlerIndex)static voidsetCurrentMessageContext(MessageContext ctx)voidsetCurrentPhaseIndex(int currentPhaseIndex)voidsetDoingMTOM(boolean b)voidsetDoingREST(boolean b)voidsetDoingSwA(boolean b)voidsetEnvelope(SOAPEnvelope envelope)voidsetExecutedPhasesExplicit(LinkedList<Handler> inb)voidsetExecutionChain(ArrayList<Handler> executionChain)Set the execution chain of Handler in this MessageContext.voidsetFailureReason(Exception failureReason)Set the failure reason.voidsetFaultTo(EndpointReference reference)voidsetFLOW(int FLOW)voidsetFrom(EndpointReference reference)voidsetIncomingTransportName(String incomingTransportName)voidsetIsSOAP11Explicit(boolean t)voidsetMessageID(String messageId)voidsetNewThreadRequired(boolean b)voidsetOperationContext(OperationContext context)voidsetOptions(Options options)Set the options for myself.voidsetOptionsExplicit(Options op)voidsetOutputWritten(boolean b)voidsetPaused(boolean paused)voidsetProcessingFault(boolean b)voidsetRelationships(RelatesTo[] list)voidsetReplyTo(EndpointReference reference)Set ReplyTo destinationvoidsetResponseWritten(boolean b)voidsetSelfManagedData(Class clazz, Object key, Object value)Add a key-value pair of self managed data to the set associated with this message context.voidsetSelfManagedDataMapExplicit(LinkedHashMap<String,Object> map)voidsetServerSide(boolean b)voidsetServiceContext(ServiceContext context)voidsetServiceContextID(String serviceContextID)Sets the service context id.voidsetServiceGroupContext(ServiceGroupContext serviceGroupContext)voidsetServiceGroupContextId(String serviceGroupContextId)voidsetSessionContext(SessionContext sessionContext)voidsetSoapAction(String soapAction)voidsetTo(EndpointReference to)voidsetTransportIn(TransportInDescription in)voidsetTransportOut(TransportOutDescription out)voidsetWSAAction(String actionURI)setWSAActionvoidsetWSAMessageId(String messageID)StringtoString()voidwriteExternal(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 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 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:
getLocalPropertyin 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:
getPropertyin 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:
getPropertiesin 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(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(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 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 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:
writeExternalin 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:
readExternalin interfaceExternalizable- Parameters:
inObject- The stream to read the object contents from- Throws:
IOExceptionClassNotFoundException
-
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:
getRootContextin 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
AxisEndpointinstance is set under theENDPOINT_LOCAL_NAMEmessage context property, return it - If a non-null
axisServiceinstance is set and it specifiesclientSide=true, retrieve the endpoint which matches itsenpointName - else, return
null
- If a non-null
-
-