public class MessageContext extends Object implements SOAPMessageContext
Modifier and Type | Field and Description |
---|---|
static String |
ACCEPTMISSINGPARAMS
A boolean param, to control whether we accept missing parameters
as nulls or refuse to acknowledge them.
|
static String |
ATTACHMENTS_DIR
The directory where in coming attachments are created.
|
static String |
AUTHUSER
Place to store an AuthenticatedUser.
|
static String |
CALL
If on the client - this is the Call object.
|
static String |
ENGINE_HANDLER
Contains an instance of Handler, which is the
ServiceContext and the entrypoint of this service.
|
static String |
HTTP_TRANSPORT_VERSION
The value of the property is used by service WSDL generation (aka ?
|
static String |
IS_MSG
Are we doing Msg vs RPC?
|
protected static org.apache.commons.logging.Log |
log
The
Log used for logging all messages. |
static String |
QUIT_REQUESTED
Has a quit been requested?
|
static String |
SECURITY_PROVIDER
The security provider.
|
protected static String |
systemTempDir
Temporary directory to store attachments.
|
static String |
TRANS_URL
This String is the URL that the message came to.
|
static String |
WSDLGEN_INTFNAMESPACE
The value of the property is used by service WSDL generation (aka ?
|
static String |
WSDLGEN_SERV_LOC_URL
The value of the property is used by service WSDL generation (aka ?
|
Constructor and Description |
---|
MessageContext(AxisEngine engine)
Create a message context.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsProperty(String name)
Returns true if the MessageContext contains a property with the specified name.
|
void |
dispose()
if a message (or subclass) has any disposal needs, this method
is where it goes.
|
protected void |
finalize()
during finalization, the dispose() method is called.
|
Iterator |
getAllPropertyNames()
Returns an Iterator view of the names of the properties
in this MessageContext and any parents of the LockableHashtable
|
AxisEngine |
getAxisEngine()
Get the axis engine.
|
ClassLoader |
getClassLoader()
Get the classloader, implicitly binding to the thread context
classloader if an override has not been supplied.
|
static MessageContext |
getCurrentContext()
Get the active message context.
|
Message |
getCurrentMessage()
Return the current (i.e. request before the pivot, response after)
message.
|
String |
getEncodingStyle()
Returns the encoding style as a URI that should be used for the SOAP
message.
|
boolean |
getMaintainSession()
Discover if we are maintaining session state.
|
SOAPMessage |
getMessage()
Gets the SOAPMessage from this message context.
|
OperationDesc |
getOperation()
The current operation.
|
OperationDesc |
getOperationByQName(QName qname)
get the first possible operation that could match a
body containing an element of the given QName.
|
Style |
getOperationStyle()
Get the operation style.
|
Use |
getOperationUse()
Get the operation use.
|
String |
getPassword()
Get the password.
|
boolean |
getPastPivot()
Determine when we've passed the pivot.
|
OperationDesc[] |
getPossibleOperationsByQName(QName qname)
Returns a list of operation descriptors that could may
possibly match a body containing an element of the given QName.
|
Object |
getProperty(String name)
Returns the value associated with the named property - or null if not
defined/set.
|
Iterator |
getPropertyNames()
Returns an
Iterator view of the names of the properties in
this MessageContext . |
Message |
getRequestMessage()
Get the request message.
|
Message |
getResponseMessage()
Get the response message.
|
String[] |
getRoles()
Gets the SOAP actor roles associated with an execution of the
HandlerChain and its contained Handler
instances. |
SchemaVersion |
getSchemaVersion()
Get the XML schema version information.
|
SOAPService |
getService()
Get the
SOAPService used to handle services in this
context. |
Session |
getSession()
Get the current session.
|
String |
getSOAPActionURI()
Get the soapAction URI.
|
SOAPConstants |
getSOAPConstants()
Get the
SOAPConstants used by this message context. |
String |
getStrProp(String propName)
Get a
String property by name. |
String |
getTargetService()
Get the name of the targed service for this message.
|
int |
getTimeout()
Get timeout from our MessageContext.
|
String |
getTransportName()
The name of the transport for this context.
|
TypeMapping |
getTypeMapping()
Return the type mapping currently in scope for our encoding style.
|
TypeMappingRegistry |
getTypeMappingRegistry()
Get the currently in-scope type mapping registry.
|
String |
getUsername()
Get the user name.
|
boolean |
isClient()
Let us know whether this is the client or the server.
|
boolean |
isEncoded()
Indicates if the opration is encoded.
|
boolean |
isHighFidelity()
Read the high fidelity property.
|
boolean |
isPropertyTrue(String propName)
Tests to see if the named property is set in the 'bag', returning
false if it is not present at all. |
boolean |
isPropertyTrue(String propName,
boolean defaultVal)
Test if a property is set to something we consider to be true in the
'bag'.
|
void |
removeProperty(String propName)
Removes a property (name-value pair) from the
MessageContext . |
void |
reset()
Return this context to a clean state.
|
void |
setClassLoader(ClassLoader cl)
Set a new classloader.
|
void |
setCurrentMessage(Message curMsg)
Set the current message.
|
void |
setEncodingStyle(String namespaceURI)
Sets the encoding style to the URI passed in.
|
void |
setHighFidelity(boolean highFidelity)
Set the high fidelity propert.
|
void |
setMaintainSession(boolean yesno)
Set whether we are maintaining session state.
|
void |
setMessage(SOAPMessage message)
Sets the SOAPMessage for this message context.
|
void |
setOperation(OperationDesc operation)
Set the current operation.
|
void |
setPassword(String password)
Set the password.
|
void |
setPastPivot(boolean pastPivot)
Indicate when we've passed the pivot.
|
void |
setProperty(String name,
Object value)
Allows you to set a named property to the passed in value.
|
void |
setPropertyParent(Hashtable parent)
Set the Hashtable that contains the default values for our
properties.
|
void |
setRequestMessage(Message reqMsg)
Set the request message, and make sure that message is associated
with this MessageContext.
|
void |
setResponseMessage(Message respMsg)
Set the response message, and make sure that message is associated
with this MessageContext.
|
void |
setRoles(String[] roles)
Set the SOAP actor roles associated with an executioni of
CodeHandlerChain and its contained Handler
instances. |
void |
setSchemaVersion(SchemaVersion schemaVersion)
Set the XML schema version this message context will use.
|
void |
setService(SOAPService sh)
Set the
SOAPService used to handle services in this
context. |
void |
setSession(Session session)
Set the current session.
|
void |
setSOAPActionURI(String SOAPActionURI)
Set the soapAction URI.
|
void |
setSOAPConstants(SOAPConstants soapConstants)
Set the
SOAPConstants used by this message context. |
void |
setTargetService(String tServ)
Set the target service for this message.
|
void |
setTimeout(int value)
Set timeout in our MessageContext.
|
void |
setTransportName(String transportName)
Set the transport name for this context.
|
void |
setTypeMappingRegistry(TypeMappingRegistry reg)
Replace the engine's type mapping registry with a local one.
|
void |
setUsername(String username)
Set the username.
|
void |
setUseSOAPAction(boolean useSOAPAction)
Enable or dissable the use of soap action information.
|
boolean |
useSOAPAction()
Indicates wether the soap action URI is being used or not.
|
protected static org.apache.commons.logging.Log log
Log
used for logging all messages.protected static String systemTempDir
public static final String ENGINE_HANDLER
public static final String TRANS_URL
public static final String QUIT_REQUESTED
public static final String AUTHUSER
public static final String CALL
public static final String IS_MSG
public static final String ATTACHMENTS_DIR
public static final String ACCEPTMISSINGPARAMS
public static final String WSDLGEN_INTFNAMESPACE
public static final String WSDLGEN_SERV_LOC_URL
public static final String HTTP_TRANSPORT_VERSION
public static final String SECURITY_PROVIDER
public MessageContext(AxisEngine engine)
engine
- the controlling axis engine. Null is actually accepted here,
though passing a null engine in is strongly discouraged as many of the methods
assume that it is in fact defined.public OperationDesc getOperation()
null
public void setOperation(OperationDesc operation)
operation
- the Operation
this context is executingpublic OperationDesc[] getPossibleOperationsByQName(QName qname) throws AxisFault
qname
- of the first element in the bodyAxisFault
- if the operation names could not be looked uppublic OperationDesc getOperationByQName(QName qname) throws AxisFault
qname
- name of the message bodyAxisFault
public static MessageContext getCurrentContext()
protected void finalize()
public void setTypeMappingRegistry(TypeMappingRegistry reg)
reg
- the new TypeMappingRegistry
public TypeMappingRegistry getTypeMappingRegistry()
public TypeMapping getTypeMapping()
public String getTransportName()
public void setTransportName(String transportName)
transportName
- the name of the transportpublic SOAPConstants getSOAPConstants()
SOAPConstants
used by this message context.public void setSOAPConstants(SOAPConstants soapConstants)
SOAPConstants
used by this message context.
This may also affect the encoding style.soapConstants
- the new soap constants to usepublic SchemaVersion getSchemaVersion()
SchemaVersion
in usepublic void setSchemaVersion(SchemaVersion schemaVersion)
schemaVersion
- the new SchemaVersion
public Session getSession()
Session
this message context is withinpublic void setSession(Session session)
session
- the new Session
public boolean isEncoded()
true
if it is encoded, false
otherwisepublic void setMaintainSession(boolean yesno)
yesno
- flag to set to true
to maintain sessionspublic boolean getMaintainSession()
true
if we are maintaining state, false
otherwisepublic Message getRequestMessage()
public void setRequestMessage(Message reqMsg)
reqMsg
- the new request Message.public Message getResponseMessage()
public void setResponseMessage(Message respMsg)
respMsg
- the new response Message.public Message getCurrentMessage()
Message
public SOAPMessage getMessage()
getMessage
in interface SOAPMessageContext
SOAPMessage
, null
if no request
SOAPMessage
is present in this
SOAPMessageContext
public void setCurrentMessage(Message curMsg)
curMsg
- the Message
to assignpublic void setMessage(SOAPMessage message)
message
to
Message
and then passing it on to
setCurrentMessage()
.setMessage
in interface SOAPMessageContext
message
- the SOAPMessage
this context is forpublic boolean getPastPivot()
true
if we have, false
otherwisepublic void setPastPivot(boolean pastPivot)
pastPivot
- true if we are past the pivot point, false otherwisepublic void setTimeout(int value)
value
- the maximum amount of time, in millisecondspublic int getTimeout()
public ClassLoader getClassLoader()
public void setClassLoader(ClassLoader cl)
cl
- the new ClassLoader
or null
public String getTargetService()
public AxisEngine getAxisEngine()
null
if the message was
created outside an enginepublic void setTargetService(String tServ) throws AxisFault
This looks up the named service in the registry, and has the side effect of setting our TypeMappingRegistry to the service's.
tServ
- the name of the target serviceAxisFault
- if anything goes wrong in resolving or setting the
servicepublic SOAPService getService()
SOAPService
used to handle services in this
context.public void setService(SOAPService sh) throws AxisFault
SOAPService
used to handle services in this
context. This method configures a wide range of
MessageContext
properties to suit the handler.sh
- the new service handlerAxisFault
- if the service could not be setpublic boolean isClient()
public String getStrProp(String propName)
String
property by name.propName
- the name of the property to fetchClassCastException
- if the property named does not have a
String
valuepublic boolean isPropertyTrue(String propName)
false
if it is not present at all.
This is equivalent to isPropertyTrue(propName, false)
.propName
- the name of the property to checkpublic boolean isPropertyTrue(String propName, boolean defaultVal)
defaultVal
is returned.Boolean
, we'll return booleanValue()Integer
, we'll return false
if its 0
else true
String
we'll return false
if its
"false"
" or "0"
else true
true
propName
- the name of the property to checkdefaultVal
- the default valuepublic void setProperty(String name, Object value)
setProperty
in interface MessageContext
name
- Name of the propertyvalue
- Value of the propertypublic boolean containsProperty(String name)
containsProperty
in interface MessageContext
name
- Name of the property whose presense is to be testedpublic Iterator getPropertyNames()
Iterator
view of the names of the properties in
this MessageContext
.getPropertyNames
in interface MessageContext
Iterator
over all property namespublic Iterator getAllPropertyNames()
public Object getProperty(String name)
getProperty
in interface MessageContext
name
- the property namepublic void setPropertyParent(Hashtable parent)
parent
- public void setUsername(String username)
username
- the new user namepublic String getUsername()
String
public void setPassword(String password)
password
- a String
containing the new passwordpublic String getPassword()
String
public Style getOperationStyle()
Style.RPC
.Style
of this messagepublic Use getOperationUse()
Use
public void setUseSOAPAction(boolean useSOAPAction)
useSOAPAction
- true
if soap action URI information
should be used, false
otherwisepublic boolean useSOAPAction()
true
if it is, false
otherwisepublic void setSOAPActionURI(String SOAPActionURI) throws IllegalArgumentException
SOAPActionURI
- a String
giving the new soap action
URIIllegalArgumentException
- if the URI is not likedpublic String getSOAPActionURI()
public void setEncodingStyle(String namespaceURI)
namespaceURI
- URI of the encoding to use.public String getEncodingStyle()
public void removeProperty(String propName)
MessageContext
MessageContext
.removeProperty
in interface MessageContext
propName
- the name of the property to be removedpublic void reset()
public boolean isHighFidelity()
Some behavior may be apropreate for high fidelity contexts that is not relevant for low fidelity ones or vica-versa.
true
if the context is high fidelity,
false
otherwisepublic void setHighFidelity(boolean highFidelity)
Users of the context may be changing what they do based upon this flag.
highFidelity
- the new value of the highFidelity propertypublic String[] getRoles()
HandlerChain
and its contained Handler
instances.
Not (yet) implemented method in the SOAPMessageContext interface.
Note: SOAP actor roles apply to the SOAP node and are managed
using HandlerChain.setRoles()
and
HandlerChain.getRoles()
. Handler instances in the
HandlerChain
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
HandlerChain
.
getRoles
in interface SOAPMessageContext
HandlerChain.setRoles(java.lang.String[])
,
HandlerChain.getRoles()
public void setRoles(String[] roles)
CodeHandlerChain
and its contained Handler
instances.roles
- an array of String
instances, each representing
the URI for a SOAP actor rolepublic void dispose()
Copyright © The Apache Software Foundation. All Rights Reserved.