Package org.apache.axis2.engine
Class AbstractDispatcher
- java.lang.Object
-
- org.apache.axis2.handlers.AbstractHandler
-
- org.apache.axis2.engine.AbstractDispatcher
-
- All Implemented Interfaces:
Handler
- Direct Known Subclasses:
AddressingBasedDispatcher
,GenericProviderDispatcher
,HTTPLocationBasedDispatcher
,MustUnderstandValidationDispatcher
,RequestURIBasedDispatcher
,RequestURIOperationDispatcher
,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 return without throwing an exception, in case it fails to find the service or operation. Dispatchers look for services, operations, or both.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler
Handler.InvocationResponse
-
-
Field Summary
Fields Modifier and Type Field Description static String
NAME
Field NAME-
Fields inherited from class org.apache.axis2.handlers.AbstractHandler
handlerDesc
-
-
Constructor Summary
Constructors Constructor Description AbstractDispatcher()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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)
This method will be called on each registered handler when a message needs to be processed.-
Methods inherited from class org.apache.axis2.handlers.AbstractHandler
flowComplete, getHandlerDesc, getName, getParameter, init, toString
-
-
-
-
Field Detail
-
NAME
public static final String NAME
Field NAME- See Also:
- Constant Field Values
-
-
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
This method will be called on each registered handler when a message needs to be processed. If the message processing is paused by the handler, then this method will be called again for the handler that paused the processing once it is resumed. This method may be called concurrently from multiple threads. Handlers that want to determine the type of message that is to be processed (e.g. response vs request, inbound vs. outbound, etc.) can retrieve that information from the MessageContext via MessageContext.getFLOW() and MessageContext.getAxisOperation().getMessageExchangePattern() APIs.- Parameters:
msgctx
-- Returns:
- An InvocationResponse that indicates what the next step in the message processing should be.
- Throws:
AxisFault
-
-