Class HandlerChainProcessor

java.lang.Object
org.apache.axis2.jaxws.handler.HandlerChainProcessor

public class HandlerChainProcessor extends Object
  • Constructor Details

    • HandlerChainProcessor

      public HandlerChainProcessor(List<jakarta.xml.ws.handler.Handler> chain, Protocol proto)
  • Method Details

    • processChain

      public boolean processChain(MEPContext mepCtx, HandlerChainProcessor.Direction direction, HandlerChainProcessor.MEP mep, boolean expectResponse)
      Parameters:
      mc - By the time processChain method is called, we already have the sorted chain, and now we have the direction, MEP, MessageContext, and if a response is expected. We should be able to handle everything from here, no pun intended. Two things a user of processChain should check when the method completes: 1. Has the MessageContext.MESSAGE_OUTBOUND_PROPERTY changed, indicating reversal of message direction 2. Has the message been converted to a fault message? (indicated by a flag in the message)
    • processChainForClose

      public boolean processChainForClose(MEPContext mepCtx, HandlerChainProcessor.Direction direction)
    • processFault

      public void processFault(MEPContext mepCtx, HandlerChainProcessor.Direction direction)
    • convertToFaultMessage

      public static void convertToFaultMessage(MEPContext mepCtx, Exception e, Protocol protocol)
    • convertToFaultMessage

      public static void convertToFaultMessage(MEPContext mepCtx, Exception e, Protocol protocol, boolean checkMsg)
      Converts the Exception into an XML Fault Message that is stored on the MEPContext. Note that if the forceConversion flag is true, this conversion will always occur. If the checkMsg flag is true, this conversion only occurs if the Message is not already a Fault (per 9,3,2.1 of the JAX-WS specification)
      Parameters:
      mepCtx - MEPContext
      e - Exception
      protocol - Protocol
      forceConversion - If true, the Exception is always converted to a Message
    • trackInternalCall

      public static void trackInternalCall(MessageContext mc, HandlerChainProcessor.TRACKER tracker)