public interface HandlerRegistry extends java.io.Serializable {
// Public Instance Methods
public abstract java.util.List getHandlerChain( javax.xml.namespace.QName portName);
public abstract void setHandlerChain(javax.xml.namespace.QName portName,
java.util.List chain);
}
HandlerRegistry is a container that holds the
information necessary to build a handler chain. Handler chains are
defined for a port within a service endpoint interface. Each
HandlerRegistry is therefore associated with a
service and contains one or more entries that are keyed on the
javax.xml.namespace.QName of a port within the
service, as defined in the service's WSDL document.
The getHandlerChain( ) method can be used to
retrieve the handler chain definition for a port given its
QName, while setHandlerChain( )
is used to install a chain definition. Both of these methods
represent a handler chain as a java.util.List
containing a HandlerInfo object for each handler
in the chain.
On the client side, the HandlerRegistry for an
endpoint is associated with its Service object and
can be retrieved using the getHandlerRegistry( )
method. When the Service object is generated from
a WSDL file or a Java interface definition, the code required to
initialize the HandlerRegistry is generated from
the configuration information passed to wscompile.
However, in the case of a Service object obtained
from a ServiceFactory, the
HandlerRegistry is not initialized. A client
application that needs to use handlers with a
Service obtained in this way needs to
programmatically initialize the registry by constructing the
appropriate HandlerInfo objects, and by using the
setHandlerChain( ) method to install them on each
port for which the handlers are required. This must be done before
the getPort( ), createCall( ),
or createCalls( ) methods are used.
The code required to create the handler registry used with the
server-side implementation of a service endpoint interface is
generated at the same time as the tie classes for the service are
generated.