org.apache.axis

Interface Handler

All Superinterfaces:
Serializable
Known Subinterfaces:
Chain, TargetedChain
Known Implementing Classes:
AxisClient, AxisEngine, AxisServer, BasicHandler, BasicProvider, BSFProvider, CommonsHTTPSender, ComProvider, CORBAProvider, DebugHandler, EchoHandler, EJBProvider, ErrorHandler, FaultableHandler, HTTPActionHandler, HTTPAuthHandler, HTTPSender, JAXRPCHandler, JavaProvider, JavaSender, JMSSender, JWSHandler, LocalResponder, LocalSender, LogHandler, LogMessage, MailSender, MD5AttachHandler, MsgProvider, MustUnderstandChecker, RMIProvider, RPCProvider, SimpleAuthenticationHandler, SimpleAuthorizationHandler, SimpleChain, SimpleSessionHandler, SimpleTargetedChain, SOAPMonitorHandler, SOAPService, Transport, URLMapper

public interface Handler
extends 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.
Element
getDeploymentData(Document doc)
This will return the root element of an XML doc that describes the deployment information about this handler.
String
getName()
Return the name (i.e.
Object
getOption(String name)
Returns the option corresponding to the 'name' given.
Hashtable
getOptions()
Return the entire list of options.
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(String name)
Set the name (i.e.
void
setOption(String name, Object value)
Add the given option (name/value) to this handler's bag of options.
void
setOptions(Hashtable opts)
Sets a whole list of options.

Method Details

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

cleanup

public void cleanup()
Cleanup is called when the chain containing this Handler object is done processing the chain.

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

getDeploymentData

public Element getDeploymentData(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

getName

public String getName()
Return the name (i.e. registry key) for this Handler.
Returns:
the name for this Handler

getOption

public Object getOption(String name)
Returns the option corresponding to the 'name' given.
Parameters:
name - the name of the option
Returns:
the value of the option

getOptions

public Hashtable getOptions()
Return the entire list of options.
Returns:
a Hashset containing all name/value pairs

getUnderstoodHeaders

public 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

init

public void init()
Init is called when the chain containing this Handler object is instantiated.

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

setName

public void setName(String name)
Set the name (i.e. registry key) of this Handler.
Parameters:
name - the new name

setOption

public void setOption(String name,
                      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

setOptions

public void setOptions(Hashtable opts)
Sets a whole list of options.
Parameters:
opts - a Hashtable of name-value pairs to use

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