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 Classes
    Modifier and Type
    Interface
    Description
    static final class 
    This 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 Type
    Method
    Description
    void
    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.
    Return the name of this Handler
    Get a Parameter from this Handler
    void
    init(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

      void init(HandlerDescription handlerDesc)
      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 - the MessageContext to process with this Handler.
      Returns:
      An InvocationResponse that indicates what the next step in the message processing should be.
      Throws:
      AxisFault - if the handler encounters an error
    • flowComplete

      void flowComplete(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. 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 - the MessageContext to process with this Handler.
    • 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

      Parameter getParameter(String name)
      Get a Parameter from this Handler
      Parameters:
      name - the name of the desired value
      Returns:
      the Parameter, or null.