org.apache.axis2.jaxws.dispatchers
Class MustUnderstandValidationDispatcher

java.lang.Object
  extended by org.apache.axis2.handlers.AbstractHandler
      extended by org.apache.axis2.engine.AbstractDispatcher
          extended by org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher
All Implemented Interfaces:
Handler

public class MustUnderstandValidationDispatcher
extends AbstractDispatcher

Do JAXWS MustUnderstand header processing per the JAXWS 2.0 specification. This checks for a specific compliance situation where a non-existant operation with mustUnderstood headers that are not understood must throw a mustUnderstandFault rather than an invalid EPR exception. Note that this handler should be inserted in the inbound dispather chains so that the Dispatcher checkPostConditions does not throw the invalid EPR fault if the operation is null.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler
Handler.InvocationResponse
 
Field Summary
 
Fields inherited from class org.apache.axis2.engine.AbstractDispatcher
NAME
 
Fields inherited from class org.apache.axis2.handlers.AbstractHandler
handlerDesc
 
Constructor Summary
MustUnderstandValidationDispatcher()
           
 
Method Summary
 AxisOperation findOperation(AxisService service, MessageContext messageContext)
          Called by Axis Engine to find the operation.
 AxisService findService(MessageContext messageContext)
          Called by Axis Engine to find the service.
 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
cleanup, flowComplete, getHandlerDesc, getName, getParameter, init, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MustUnderstandValidationDispatcher

public MustUnderstandValidationDispatcher()
Method Detail

findOperation

public AxisOperation findOperation(AxisService service,
                                   MessageContext messageContext)
                            throws AxisFault
Description copied from class: AbstractDispatcher
Called by Axis Engine to find the operation.

Specified by:
findOperation in class AbstractDispatcher
Returns:
Returns AxisOperation.
Throws:
AxisFault

findService

public AxisService findService(MessageContext messageContext)
                        throws AxisFault
Description copied from class: AbstractDispatcher
Called by Axis Engine to find the service.

Specified by:
findService in class AbstractDispatcher
Returns:
Returns AxisService.
Throws:
AxisFault

initDispatcher

public void initDispatcher()
Specified by:
initDispatcher in class AbstractDispatcher

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.

Specified by:
invoke in interface Handler
Overrides:
invoke in class AbstractDispatcher
Parameters:
msgctx - 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


Copyright © 2007 Apache Web Services Project. All Rights Reserved.