## org.apache.axis
Interface Handler

All Superinterfaces:
  java.io.Serializable

All Known Subinterfaces:
  Chain, TargetedChain

All Known Implementing Classes:
  BasicHandler, SimpleChain, SimpleTargetedChain

public interface Handler
extends java.io.Serializable

An AXIS handler.

Author:
  Doug Davis (dug@us.ibm.com)

Method Summary
`boolean` `canHandleBlock(QName qname)` Indicate if this handler can process `qname`.
`void` `cleanup()` Cleanup is called when the chain containing this Handler object is done processing the chain.
`void` `generateWSDL(MessageContext msgContext)` Obtain WSDL information.
`org.w3c.dom.Element` `getDeploymentData(org.w3c.dom.Document doc)` This will return the root element of an XML doc that describes the deployment information about this handler.
`java.lang.String` `getName()` Return the name (i.e.
`java.lang.Object` `getOption(java.lang.String name)` Returns the option corresponding to the 'name' given.
`java.util.Hashtable` `getOptions()` Return the entire list of options.
`java.util.List` `getUnderstoodHeaders()` Return a list of QNames which this Handler understands.
`void` `init()` Init is called when the chain containing this Handler object is instantiated.
`void` `invoke(MessageContext msgContext)` Invoke is called to do the actual work of the Handler object.
`void` `onFault(MessageContext msgContext)` Called when a subsequent handler throws a fault.
`void` `setName(java.lang.String name)` Set the name (i.e.
`void` `setOption(java.lang.String name, java.lang.Object value)` Add the given option (name/value) to this handler's bag of options.
`void` `setOptions(java.util.Hashtable opts)` Sets a whole list of options.

Method Detail

### init

    public void init()

  Init is called when the chain containing this Handler object is instantiated.

### cleanup

    public void cleanup()

  Cleanup is called when the chain containing this Handler object is done processing the chain.

### invoke

    public void invoke(MessageContext msgContext)
                throws AxisFault

  Invoke is called to do the actual work of the Handler object. If there is a fault during the processing of this method it is invoke's job to catch the exception and undo any partial work that has been completed. Once we leave 'invoke' if a fault is thrown, this classes 'onFault' method will be called. Invoke should rethrow any exceptions it catches, wrapped in an AxisFault.

  Parameters:
    `msgContext` - the `MessageContext` to process with this `Handler`.
  Throws:
    `AxisFault` - if the handler encounters an error

### onFault

    public void onFault(MessageContext msgContext)

  Called when a subsequent handler throws a fault.

  Parameters:
    `msgContext` - the `MessageContext` to process the fault to

### canHandleBlock

    public boolean canHandleBlock(QName qname)

  Indicate if this handler can process `qname`.

  Parameters:
    `qname` - the `QName` to check
  Returns:
    true if this `Handler` can handle `qname`, false otherwise``

### getUnderstoodHeaders

    public java.util.List getUnderstoodHeaders()

  Return a list of QNames which this Handler understands. By returning a particular QName here, we are committing to fulfilling any contracts defined in the specification of the SOAP header with that QName.

  Returns:
    a List of `QName` instances

### setOption

    public void setOption(java.lang.String name,
                          java.lang.Object value)

  Add the given option (name/value) to this handler's bag of options.

  Parameters:
    `name` - the name of the option
    `value` - the new value of the option

### getOption

    public java.lang.Object getOption(java.lang.String name)

  Returns the option corresponding to the 'name' given.

  Parameters:
    `name` - the name of the option
  Returns:
    the value of the option

### setName

    public void setName(java.lang.String name)

  Set the name (i.e. registry key) of this Handler.

  Parameters:
    `name` - the new name

### getName

    public java.lang.String getName()

  Return the name (i.e. registry key) for this `Handler`.

  Returns:
    the name for this `Handler`

### getOptions

    public java.util.Hashtable getOptions()

  Return the entire list of options.

  Returns:
    a `Hashset` containing all name/value pairs

### setOptions

    public void setOptions(java.util.Hashtable opts)

  Sets a whole list of options.

  Parameters:
    `opts` - a `Hashtable` of name-value pairs to use

### getDeploymentData

    public org.w3c.dom.Element getDeploymentData(org.w3c.dom.Document doc)

  This will return the root element of an XML doc that describes the deployment information about this handler. This is NOT the WSDL, this is all of the static internal data use by Axis - WSDL takes into account run-time information (like which service we're talking about) this is just the data that's stored in the registry. Used by the 'list' Admin function.

  Parameters:
    `doc` - a `Document` within which to build the deployment data
  Returns:
    an Element representing the deployment data

### generateWSDL

    public void generateWSDL(MessageContext msgContext)
                      throws AxisFault

  Obtain WSDL information. Some Handlers will implement this by merely setting properties in the MessageContext, others (providers) will take responsibility for doing the "real work" of generating WSDL for a given service.

  Parameters:
    `msgContext` - the `MessageContext` to generate the WSDL to
  Throws:
    `AxisFault` - if there was a problem generating the WSDL

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