org.apache.axis2.engine
Class AbstractDispatcher

java.lang.Object
  extended by org.apache.axis2.handlers.AbstractHandler
      extended by org.apache.axis2.engine.AbstractDispatcher
All Implemented Interfaces:
Handler
Direct Known Subclasses:
AddressingBasedDispatcher, RequestURIBasedDispatcher, SOAPActionBasedDispatcher, SOAPMessageBodyBasedDispatcher

public abstract class AbstractDispatcher
extends AbstractHandler

This the base class for all dispatchers. A dispatcher's task is to find the service for an incoming SOAP message.

In Axis2, a chain of dispatchers is setup. Each tries to dispatch and returns without throwing an exception, in case, it fails.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler
Handler.InvocationResponse
 
Field Summary
static String NAME
          Field NAME
 
Fields inherited from class org.apache.axis2.handlers.AbstractHandler
handlerDesc
 
Constructor Summary
AbstractDispatcher()
           
 
Method Summary
abstract  AxisOperation findOperation(AxisService service, MessageContext messageContext)
          Called by Axis Engine to find the operation.
abstract  AxisService findService(MessageContext messageContext)
          Called by Axis Engine to find the service.
abstract  void initDispatcher()
           
 Handler.InvocationResponse invoke(MessageContext msgctx)
          Invoke is called to do the actual work of the Handler object.
 
Methods inherited from class org.apache.axis2.handlers.AbstractHandler
cleanup, getHandlerDesc, getName, getParameter, init, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAME

public static final String NAME
Field NAME

See Also:
Constant Field Values
Constructor Detail

AbstractDispatcher

public AbstractDispatcher()
Method Detail

findOperation

public abstract AxisOperation findOperation(AxisService service,
                                            MessageContext messageContext)
                                     throws AxisFault
Called by Axis Engine to find the operation.

Parameters:
service -
messageContext -
Returns:
Returns AxisOperation.
Throws:
AxisFault

findService

public abstract AxisService findService(MessageContext messageContext)
                                 throws AxisFault
Called by Axis Engine to find the service.

Parameters:
messageContext -
Returns:
Returns AxisService.
Throws:
AxisFault

initDispatcher

public abstract void initDispatcher()

invoke

public Handler.InvocationResponse invoke(MessageContext msgctx)
                                  throws AxisFault
Description copied from interface: Handler
Invoke is called to do the actual work of the Handler object. If there is a fault during the processing of this method it is invoke's job to catch the exception and undo any partial work that has been completed. N.B. This method may be called concurrently from multiple threads.

Parameters:
msgctx -
Returns:
An InvocationResponse that indicates what the next step in the message processing should be.
Throws:
AxisFault