org.apache.axis
Class AxisEngine

java.lang.Object
  extended byorg.apache.axis.handlers.BasicHandler
      extended byorg.apache.axis.AxisEngine
All Implemented Interfaces:
Handler, java.io.Serializable
Direct Known Subclasses:
AxisClient

public abstract class AxisEngine
extends BasicHandler

An AxisEngine is the base class for AxisClient and AxisServer. Handles common functionality like dealing with the handler/service registries and loading properties.

See Also:
Serialized Form

Field Summary
static java.lang.String DEFAULT_ATTACHMENT_IMPL
           
static java.lang.String ENV_ATTACHMENT_DIR
           
static java.lang.String ENV_SERVLET_CONTEXT
           
static java.lang.String ENV_SERVLET_REALPATH
           
static java.lang.String PROP_ATTACHMENT_CLEANUP
           
static java.lang.String PROP_ATTACHMENT_DIR
           
static java.lang.String PROP_ATTACHMENT_IMPLEMENTATION
           
static java.lang.String PROP_BP10_COMPLIANCE
          Compliance with WS-I Basic Profile.
static java.lang.String PROP_BYTE_BUFFER_BACKING
           
static java.lang.String PROP_BYTE_BUFFER_CACHE_INCREMENT
           
static java.lang.String PROP_BYTE_BUFFER_RESIDENT_MAX_SIZE
           
static java.lang.String PROP_BYTE_BUFFER_WORK_BUFFER_SIZE
           
static java.lang.String PROP_DEBUG_FILE
           
static java.lang.String PROP_DEBUG_LEVEL
           
static java.lang.String PROP_DEFAULT_CONFIG_CLASS
           
static java.lang.String PROP_DISABLE_PRETTY_XML
           
static java.lang.String PROP_DOMULTIREFS
           
static java.lang.String PROP_DOTNET_SOAPENC_FIX
          Set this property to 'true' when you want Axis to avoid soap encoded types to work around a .NET problem where it wont accept soap encoded types for a (soap encoded!) array.
static java.lang.String PROP_EMIT_ALL_TYPES
           
static java.lang.String PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION
           
static java.lang.String PROP_PASSWORD
           
static java.lang.String PROP_SEND_XSI
           
static java.lang.String PROP_SOAP_ALLOWED_VERSION
           
static java.lang.String PROP_SOAP_VERSION
           
static java.lang.String PROP_SYNC_CONFIG
           
static java.lang.String PROP_TWOD_ARRAY_ENCODING
           
static java.lang.String PROP_XML_DECL
           
static java.lang.String PROP_XML_ENCODING
           
static java.lang.String PROP_XML_REUSE_SAX_PARSERS
           
 
Constructor Summary
AxisEngine(EngineConfiguration config)
          Construct an AxisEngine using the specified engine configuration.
 
Method Summary
 void addActorURI(java.lang.String uri)
          Add an actor by uri that will hold for the entire engine.
 void cleanup()
          Cleanup routine removes application scoped objects.
 java.util.ArrayList getActorURIs()
          Get a list of actor URIs that hold for the entire engine.
 Session getApplicationSession()
          Get the Session object associated with the application session.
 org.apache.axis.utils.cache.ClassCache getClassCache()
          Get the ClassCache associated with this engine.
 java.lang.ClassLoader getClassLoader()
           
abstract  AxisEngine getClientEngine()
          Client engine access.
 SybCollectionStats getCollectionStats()
           
 EngineConfiguration getConfig()
          Get the EngineConfiguration used throughout this AxisEngine instance.
static MessageContext getCurrentMessageContext()
          Get the active message context.
 Handler getGlobalRequest()
          Get the global request Handler.
 Handler getGlobalResponse()
          Get the global respones Handler.
 Handler getHandler(java.lang.String name)
          Get the Handler for a particular local name.
 org.apache.axis.handlers.soap.SOAPService getService(java.lang.String name)
          Get the SOAPService for a particular local name.
 javax.servlet.ServletContext getServletContext()
           
 Handler getTransport(java.lang.String name)
          Get the Handler that implements the transport for a local name.
 org.apache.axis.encoding.TypeMappingRegistry getTypeMappingRegistry()
          Get the TypeMappingRegistry for this axis engine.
 boolean hasSafePassword()
          Discover if this AxisEngine has a safe password.
 void init()
          Initialize the engine.
static void normaliseOptions(Handler handler)
          Normalise the engine's options.
 void refreshGlobalOptions()
          (Re-)load the global options from the registry.
 void removeActorURI(java.lang.String uri)
          Remove an actor by uri that will hold for the entire engine.
 void saveConfiguration()
          Write out our engine configuration.
 void setAdminPassword(java.lang.String pw)
          Set the administration password.
 void setClassLoader(java.lang.ClassLoader cl)
           
 void setServletContext(javax.servlet.ServletContext servletContext)
           
 void setShouldSaveConfig(boolean shouldSaveConfig)
          Set the flag that controls if the configuration should be saved.
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
canHandleBlock, generateWSDL, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, onFault, setName, setOption, setOptionDefault, setOptions
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.axis.Handler
invoke
 

Field Detail

PROP_XML_DECL

public static final java.lang.String PROP_XML_DECL
See Also:
Constant Field Values

PROP_DEBUG_LEVEL

public static final java.lang.String PROP_DEBUG_LEVEL
See Also:
Constant Field Values

PROP_DEBUG_FILE

public static final java.lang.String PROP_DEBUG_FILE
See Also:
Constant Field Values

PROP_DOMULTIREFS

public static final java.lang.String PROP_DOMULTIREFS
See Also:
Constant Field Values

PROP_DISABLE_PRETTY_XML

public static final java.lang.String PROP_DISABLE_PRETTY_XML
See Also:
Constant Field Values

PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION

public static final java.lang.String PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION
See Also:
Constant Field Values

PROP_PASSWORD

public static final java.lang.String PROP_PASSWORD
See Also:
Constant Field Values

PROP_SYNC_CONFIG

public static final java.lang.String PROP_SYNC_CONFIG
See Also:
Constant Field Values

PROP_SEND_XSI

public static final java.lang.String PROP_SEND_XSI
See Also:
Constant Field Values

PROP_ATTACHMENT_DIR

public static final java.lang.String PROP_ATTACHMENT_DIR
See Also:
Constant Field Values

PROP_ATTACHMENT_IMPLEMENTATION

public static final java.lang.String PROP_ATTACHMENT_IMPLEMENTATION
See Also:
Constant Field Values

PROP_ATTACHMENT_CLEANUP

public static final java.lang.String PROP_ATTACHMENT_CLEANUP
See Also:
Constant Field Values

PROP_DEFAULT_CONFIG_CLASS

public static final java.lang.String PROP_DEFAULT_CONFIG_CLASS
See Also:
Constant Field Values

PROP_SOAP_VERSION

public static final java.lang.String PROP_SOAP_VERSION
See Also:
Constant Field Values

PROP_SOAP_ALLOWED_VERSION

public static final java.lang.String PROP_SOAP_ALLOWED_VERSION
See Also:
Constant Field Values

PROP_TWOD_ARRAY_ENCODING

public static final java.lang.String PROP_TWOD_ARRAY_ENCODING
See Also:
Constant Field Values

PROP_XML_ENCODING

public static final java.lang.String PROP_XML_ENCODING
See Also:
Constant Field Values

PROP_XML_REUSE_SAX_PARSERS

public static final java.lang.String PROP_XML_REUSE_SAX_PARSERS
See Also:
Constant Field Values

PROP_BYTE_BUFFER_BACKING

public static final java.lang.String PROP_BYTE_BUFFER_BACKING
See Also:
Constant Field Values

PROP_BYTE_BUFFER_CACHE_INCREMENT

public static final java.lang.String PROP_BYTE_BUFFER_CACHE_INCREMENT
See Also:
Constant Field Values

PROP_BYTE_BUFFER_RESIDENT_MAX_SIZE

public static final java.lang.String PROP_BYTE_BUFFER_RESIDENT_MAX_SIZE
See Also:
Constant Field Values

PROP_BYTE_BUFFER_WORK_BUFFER_SIZE

public static final java.lang.String PROP_BYTE_BUFFER_WORK_BUFFER_SIZE
See Also:
Constant Field Values

PROP_EMIT_ALL_TYPES

public static final java.lang.String PROP_EMIT_ALL_TYPES
See Also:
Constant Field Values

PROP_DOTNET_SOAPENC_FIX

public static final java.lang.String PROP_DOTNET_SOAPENC_FIX
Set this property to 'true' when you want Axis to avoid soap encoded types to work around a .NET problem where it wont accept soap encoded types for a (soap encoded!) array.

See Also:
Constant Field Values

PROP_BP10_COMPLIANCE

public static final java.lang.String PROP_BP10_COMPLIANCE
Compliance with WS-I Basic Profile.

See Also:
Constant Field Values

DEFAULT_ATTACHMENT_IMPL

public static final java.lang.String DEFAULT_ATTACHMENT_IMPL
See Also:
Constant Field Values

ENV_ATTACHMENT_DIR

public static final java.lang.String ENV_ATTACHMENT_DIR
See Also:
Constant Field Values

ENV_SERVLET_REALPATH

public static final java.lang.String ENV_SERVLET_REALPATH
See Also:
Constant Field Values

ENV_SERVLET_CONTEXT

public static final java.lang.String ENV_SERVLET_CONTEXT
See Also:
Constant Field Values
Constructor Detail

AxisEngine

public AxisEngine(EngineConfiguration config)
Construct an AxisEngine using the specified engine configuration.

Parameters:
config - the EngineConfiguration for this engine
Method Detail

getCurrentMessageContext

public static MessageContext getCurrentMessageContext()
Get the active message context.

Returns:
the current active message context

init

public void init()
Initialize the engine. Multiple calls will (may?) return the engine to the intialized state.

Specified by:
init in interface Handler
Overrides:
init in class BasicHandler

cleanup

public void cleanup()
Cleanup routine removes application scoped objects. There is a small risk of this being called more than once so the cleanup should be designed to resist that event.

Specified by:
cleanup in interface Handler
Overrides:
cleanup in class BasicHandler

saveConfiguration

public void saveConfiguration()
Write out our engine configuration.


getConfig

public EngineConfiguration getConfig()
Get the EngineConfiguration used throughout this AxisEngine instance.

Returns:
the engine configuration instance

hasSafePassword

public boolean hasSafePassword()
Discover if this AxisEngine has a safe password.

Returns:
true if it is safe, false otherwise

setAdminPassword

public void setAdminPassword(java.lang.String pw)
Set the administration password.

Parameters:
pw - the literal value of the password as a String

setShouldSaveConfig

public void setShouldSaveConfig(boolean shouldSaveConfig)
Set the flag that controls if the configuration should be saved.

Parameters:
shouldSaveConfig - true if the configuration should be changed, false otherwise

getHandler

public Handler getHandler(java.lang.String name)
                   throws AxisFault
Get the Handler for a particular local name.

Parameters:
name - the local name of the request type
Returns:
the Handler for this request type
Throws:
AxisFault

getService

public org.apache.axis.handlers.soap.SOAPService getService(java.lang.String name)
                                                     throws AxisFault
Get the SOAPService for a particular local name.

Parameters:
name - the local name of the request type
Returns:
the SOAPService for this request type
Throws:
AxisFault

getTransport

public Handler getTransport(java.lang.String name)
                     throws AxisFault
Get the Handler that implements the transport for a local name.

Parameters:
name - the local name to fetch the transport for
Returns:
a Handler for this local name
Throws:
AxisFault

getTypeMappingRegistry

public org.apache.axis.encoding.TypeMappingRegistry getTypeMappingRegistry()
Get the TypeMappingRegistry for this axis engine.

Returns:
the TypeMappingRegistry if possible, or null if there is any error resolving it

getGlobalRequest

public Handler getGlobalRequest()
                         throws ConfigurationException
Get the global request Handler.

Returns:
the Handler used for global requests
Throws:
ConfigurationException

getGlobalResponse

public Handler getGlobalResponse()
                          throws ConfigurationException
Get the global respones Handler.

Returns:
the Handler used for global responses
Throws:
ConfigurationException

getActorURIs

public java.util.ArrayList getActorURIs()
Get a list of actor URIs that hold for the entire engine.

Returns:
an ArrayList of all actor URIs as Strings

addActorURI

public void addActorURI(java.lang.String uri)
Add an actor by uri that will hold for the entire engine.

Parameters:
uri - a String giving the uri of the actor to add

removeActorURI

public void removeActorURI(java.lang.String uri)
Remove an actor by uri that will hold for the entire engine.

Parameters:
uri - a String giving the uri of the actor to remove

getClientEngine

public abstract AxisEngine getClientEngine()
Client engine access.

An AxisEngine may define another specific AxisEngine to be used by newly created Clients. For instance, a server may create an AxisClient and allow deployment to it. Then the server's services may access the AxisClient's deployed handlers and transports.

Returns:
an AxisEngine that is the client engine

normaliseOptions

public static void normaliseOptions(Handler handler)
Normalise the engine's options.

Convert boolean options from String to Boolean and default any ommitted boolean options to TRUE. Default the admin. password.

Parameters:
handler - the Handler to normalise; instances of AxisEngine get extra data normalised

refreshGlobalOptions

public void refreshGlobalOptions()
                          throws ConfigurationException
(Re-)load the global options from the registry.

Throws:
ConfigurationException

getApplicationSession

public Session getApplicationSession()
Get the Session object associated with the application session.

Returns:
a Session scoped to the application

getClassCache

public org.apache.axis.utils.cache.ClassCache getClassCache()
Get the ClassCache associated with this engine.

Returns:
the class cache

getCollectionStats

public SybCollectionStats getCollectionStats()

setServletContext

public void setServletContext(javax.servlet.ServletContext servletContext)

getServletContext

public javax.servlet.ServletContext getServletContext()

setClassLoader

public void setClassLoader(java.lang.ClassLoader cl)

getClassLoader

public java.lang.ClassLoader getClassLoader()


Copyright 2003 Apache Web Services Project. A ll Rights Reserved.