Package javax.xml.rpc.handler
Interface Handler
-
- All Known Implementing Classes:
GenericHandler
public interface Handler
Thejavax.xml.rpc.handler.Handler
interface is required to be implemented by a SOAP message handler. ThehandleRequest
,handleResponse
andhandleFault
methods for a SOAP message handler get access to theSOAPMessage
from theSOAPMessageContext
. The implementation of these methods can modify theSOAPMessage
including the headers and body elements.- Version:
- $Rev: 467553 $ $Date: 2006-10-25 00:01:51 -0400 (Wed, 25 Oct 2006) $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
destroy()
Thedestroy
method indicates the end of lifecycle for a Handler instance.javax.xml.namespace.QName[]
getHeaders()
Gets the header blocks processed by this Handler instance.boolean
handleFault(MessageContext context)
ThehandleFault
method processes the SOAP faults based on the SOAP message processing model.boolean
handleRequest(MessageContext context)
ThehandleRequest
method processes the request message.boolean
handleResponse(MessageContext context)
ThehandleResponse
method processes the response SOAP message.void
init(HandlerInfo config)
Theinit
method enables the Handler instance to initialize itself.
-
-
-
Method Detail
-
handleRequest
boolean handleRequest(MessageContext context)
ThehandleRequest
method processes the request message.- Parameters:
context
- MessageContext parameter provides access to the request message.- Returns:
- boolean boolean Indicates the processing mode
- Return
true
to indicate continued processing of the request handler chain. TheHandlerChain
takes the responsibility of invoking the next entity. The next entity may be the next handler in theHandlerChain
or if this handler is the last handler in the chain, the next entity is the service endpoint object. - Return
false
to indicate blocking of the request handler chain. In this case, further processing of the request handler chain is blocked and the target service endpoint is not dispatched. The JAX-RPC runtime system takes the responsibility of invoking the response handler chain next with the SOAPMessageContext. The Handler implementation class has the the responsibility of setting the appropriate response SOAP message in either handleRequest and/or handleResponse method. In the default processing model, the response handler chain starts processing from the same Handler instance (that returned false) and goes backward in the execution sequence.
- Return
- Throws:
JAXRPCException
- indicates a handler-specific runtime error. IfJAXRPCException
is thrown by a handleRequest method, the HandlerChain terminates the further processing of this handler chain. On the server side, the HandlerChain generates a SOAP fault that indicates that the message could not be processed for reasons not directly attributable to the contents of the message itself but rather to a runtime error during the processing of the message. On the client side, the exception is propagated to the client codeSOAPFaultException
- indicates a SOAP fault. The Handler implementation class has the the responsibility of setting the SOAP fault in the SOAP message in either handleRequest and/or handleFault method. If SOAPFaultException is thrown by a server-side request handler's handleRequest method, the HandlerChain terminates the further processing of the request handlers in this handler chain and invokes the handleFault method on the HandlerChain with the SOAP message context. Next, the HandlerChain invokes the handleFault method on handlers registered in the handler chain, beginning with the Handler instance that threw the exception and going backward in execution. The client-side request handler's handleRequest method should not throw the SOAPFaultException.
-
handleResponse
boolean handleResponse(MessageContext context)
ThehandleResponse
method processes the response SOAP message.- Parameters:
context
- MessageContext parameter provides access to the response SOAP message- Returns:
- boolean Indicates the processing mode
- Return
true
to indicate continued processing ofthe response handler chain. The HandlerChain invokes thehandleResponse
method on the nextHandler
in the handler chain. - Return
false
to indicate blocking of the response handler chain. In this case, no other response handlers in the handler chain are invoked.
- Return
- Throws:
JAXRPCException
- indicates a handler specific runtime error. If JAXRPCException is thrown by a handleResponse method, the HandlerChain terminates the further processing of this handler chain. On the server side, the HandlerChain generates a SOAP fault that indicates that the message could not be processed for reasons not directly attributable to the contents of the message itself but rather to a runtime error during the processing of the message. On the client side, the runtime exception is propagated to the client code.
-
handleFault
boolean handleFault(MessageContext context)
ThehandleFault
method processes the SOAP faults based on the SOAP message processing model.- Parameters:
context
- MessageContext parameter provides access to the SOAP message- Returns:
- boolean Indicates the processing mode
- Return
true
to indicate continued processing of SOAP Fault. The HandlerChain invokes thehandleFault
method on the nextHandler
in the handler chain. - Return
false
to indicate end of the SOAP fault processing. In this case, no other handlers in the handler chain are invoked.
- Return
- Throws:
JAXRPCException
- indicates handler specific runtime error. If JAXRPCException is thrown by a handleFault method, the HandlerChain terminates the further processing of this handler chain. On the server side, the HandlerChain generates a SOAP fault that indicates that the message could not be processed for reasons not directly attributable to the contents of the message itself but rather to a runtime error during the processing of the message. On the client side, the JAXRPCException is propagated to the client code.
-
init
void init(HandlerInfo config)
Theinit
method enables the Handler instance to initialize itself. Theinit
method passes the handler configuration as aHandlerInfo
instance. The HandlerInfo is used to configure the Handler (for example: setup access to an external resource or service) during the initialization.In the init method, the Handler class may get access to any resources (for example; access to a logging service or database) and maintain these as part of its instance variables. Note that these instance variables must not have any state specific to the SOAP message processing performed in the various handle method.
- Parameters:
config
- HandlerInfo configuration for the initialization of this handlerconfig
-- Throws:
JAXRPCException
- if initialization of the handler fails
-
destroy
void destroy()
Thedestroy
method indicates the end of lifecycle for a Handler instance. The Handler implementation class should release its resources and perform cleanup in the implementation of thedestroy
method.- Throws:
JAXRPCException
- if there was any error during destroy
-
getHeaders
javax.xml.namespace.QName[] getHeaders()
Gets the header blocks processed by this Handler instance.- Returns:
- Array of QNames of header blocks processed by this
handler instance.
QName
is the qualified name of the outermost element of the Header block.
-
-