org.apache.axis2.jaxws.handler
Class HandlerChainProcessor

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

public class HandlerChainProcessor
extends Object


Nested Class Summary
static class HandlerChainProcessor.Direction
           
static class HandlerChainProcessor.MEP
           
static class HandlerChainProcessor.TRACKER
           
 
Constructor Summary
HandlerChainProcessor(List<Handler> chain, Protocol proto)
           
 
Method Summary
static void convertToFaultMessage(MEPContext mepCtx, Exception e, Protocol protocol)
           
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.
 boolean processChain(MEPContext mepCtx, HandlerChainProcessor.Direction direction, HandlerChainProcessor.MEP mep, boolean expectResponse)
           
 boolean processChainForClose(MEPContext mepCtx, HandlerChainProcessor.Direction direction)
           
 void processFault(MEPContext mepCtx, HandlerChainProcessor.Direction direction)
           
static void trackInternalCall(MessageContext mc, HandlerChainProcessor.TRACKER tracker)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HandlerChainProcessor

public HandlerChainProcessor(List<Handler> chain,
                             Protocol proto)
Method Detail

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)


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.