Package org.apache.axis2.engine
Interface Handler
- All Known Subinterfaces:
TransportSender
- All Known Implementing Classes:
AbstractDispatcher,AbstractHandler,AbstractOperationDispatcher,AbstractServiceDispatcher,AbstractTemplatedHandler,ActionBasedOperationDispatcher,AddressingBasedDispatcher,DispatchPhase,HTTPLocationBasedDispatcher,JSONBasedDefaultDispatcher,Phase,RelatesToBasedOperationDispatcher,RelatesToBasedServiceDispatcher,RequestBlockingHandler,RequestURIBasedDispatcher,RequestURIBasedOperationDispatcher,RequestURIBasedServiceDispatcher,RequestURIOperationDispatcher,SOAPActionBasedDispatcher,SOAPMessageBodyBasedDispatcher,SOAPMessageBodyBasedOperationDispatcher,SOAPMessageBodyBasedServiceDispatcher
public interface Handler
A Handler represents a piece of message processing functionality in Axis2.
Handlers are combined into chains and phases in order to provide customizable functionality
such as security, reliability, etc. Handlers must be multi-thread safe and should keep all
their state in Context objects (see the org.apache.axis2.context package).
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classThis type encapsulates an enumeration of possible message processing instruction values that may be returned by a handler/phase within the runtime. -
Method Summary
Modifier and TypeMethodDescriptionvoidflowComplete(MessageContext msgContext) This method will be called on each registered handler that had its invoke(...) method called during the processing of the message, once the message processing has completed.Gets the HandlerDescription of a handler.getName()Return the name of this HandlergetParameter(String name) Get a Parameter from this Handlervoidinit(HandlerDescription handlerDesc) Initialize a Handler.invoke(MessageContext msgContext) This method will be called on each registered handler when a message needs to be processed.
-
Method Details
-
init
Initialize a Handler.- Parameters:
handlerDesc- the HandlerDescription for this Handler
-
invoke
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:
msgContext- theMessageContextto process with thisHandler.- Returns:
- An InvocationResponse that indicates what the next step in the message processing should be.
- Throws:
AxisFault- if the handler encounters an error
-
flowComplete
This method will be called on each registered handler that had its invoke(...) method called during the processing of the message, once the message processing has completed. During execution of the flowComplete's, handlers are invoked in the opposite order that they were invoked originally. Note that implementations SHOULD check msgContext.getFailureReason() to see if this is an error or a normal completion.- Parameters:
msgContext- theMessageContextto process with thisHandler.
-
getHandlerDesc
HandlerDescription getHandlerDesc()Gets the HandlerDescription of a handler.- Returns:
- Returns HandlerDescription.
-
getName
String getName()Return the name of this Handler- Returns:
- the handler's name as a String
-
getParameter
Get a Parameter from this Handler- Parameters:
name- the name of the desired value- Returns:
- the Parameter, or null.
-