public abstract class HandlerTube extends AbstractFilterTubeImpl
Modifier and Type | Class and Description |
---|---|
(package private) static class |
HandlerTube.HandlerTubeExchange
This class is used primarily to exchange information or status between
LogicalHandlerTube and SOAPHandlerTube
|
Modifier and Type | Field and Description |
---|---|
(package private) HandlerTube |
cousinTube
handle hold reference to other Tube for inter-tube communication
|
protected List<Handler> |
handlers |
protected WSDLPort |
port |
(package private) HandlerProcessor |
processor |
(package private) boolean |
remedyActionTaken |
(package private) boolean |
requestProcessingSucessful |
next
Modifier | Constructor and Description |
---|---|
protected |
HandlerTube(HandlerTube that,
TubeCloner cloner)
Copy constructor for
Tube.copy(TubeCloner) . |
|
HandlerTube(Tube next,
HandlerTube cousinTube,
WSBinding binding) |
|
HandlerTube(Tube next,
WSDLPort port,
WSBinding binding) |
Modifier and Type | Method and Description |
---|---|
(package private) abstract boolean |
callHandlersOnRequest(MessageUpdatableContext context,
boolean oneWay) |
(package private) abstract void |
callHandlersOnResponse(MessageUpdatableContext context,
boolean handleFault) |
void |
close(MessageContext msgContext)
Calls close on previously invoked handlers.
|
protected void |
closeClientsideHandlers(MessageContext msgContext)
Called by close(MessageContext mc) in a Client Handlertube
|
(package private) abstract void |
closeHandlers(MessageContext mc)
On Client, Override by calling #closeClientHandlers(MessageContext mc)
On Server, Override by calling #closeServerHandlers(MessageContext mc)
The difference is the order in which they are closed.
|
protected void |
closeServersideHandlers(MessageContext msgContext)
Called by close(MessageContext mc) in a Server Handlertube
|
protected WSBinding |
getBinding() |
(package private) abstract MessageUpdatableContext |
getContext(Packet p) |
protected void |
initiateClosing(MessageContext mc)
Must be overridden by HandlerTube that drives other handler tubes for processing a message.
|
boolean |
isHandlerChainEmpty() |
NextAction |
processException(Throwable t)
Default no-op implementation.
|
NextAction |
processRequest(Packet request)
Default no-op implementation.
|
NextAction |
processResponse(Packet response)
Default no-op implementation.
|
protected void |
resetProcessor() |
(package private) void |
setHandleFalse() |
(package private) void |
setHandleFault() |
(package private) abstract void |
setUpProcessor() |
preDestroy
copy, copy, doInvoke, doInvokeAndForget, doReturnWith, doSuspend, doSuspend, doSuspend, doSuspend, doThrow, process
HandlerTube cousinTube
HandlerProcessor processor
boolean remedyActionTaken
@Nullable protected final WSDLPort port
boolean requestProcessingSucessful
public HandlerTube(Tube next, HandlerTube cousinTube, WSBinding binding)
protected HandlerTube(HandlerTube that, TubeCloner cloner)
Tube.copy(TubeCloner)
.protected WSBinding getBinding()
public NextAction processRequest(Packet request)
AbstractFilterTubeImpl
processRequest
in interface Tube
processRequest
in class AbstractFilterTubeImpl
request
- The packet that represents a request message.
If the packet has a non-null message, it must be a valid
unconsumed Message
. This message represents the
SOAP message to be sent as a request.
The packet is also allowed to carry no message, which indicates that this is an output-only request. (that's called "solicit", right? - KK)
NextAction
object that represents the next action
to be taken by the JAX-WS runtime.public NextAction processResponse(Packet response)
AbstractFilterTubeImpl
processResponse
in interface Tube
processResponse
in class AbstractFilterTubeImpl
response
- If the packet has a non-null message, it must be
a valid unconsumed Message
. This message represents
a response to the request message passed to
Tube.processRequest(Packet)
earlier.
The packet is also allowed to carry no message, which indicates that there was no response. This is used for things like one-way message and/or one-way transports. TODO: exception handling semantics need more discussion
NextAction
object that represents the next action
to be taken by the JAX-WS runtime.public NextAction processException(Throwable t)
AbstractFilterTubeImpl
processException
in interface Tube
processException
in class AbstractFilterTubeImpl
NextAction
object that represents the next action
to be taken by the JAX-WS runtime.protected void initiateClosing(MessageContext mc)
public final void close(MessageContext msgContext)
abstract void closeHandlers(MessageContext mc)
mc
- protected void closeClientsideHandlers(MessageContext msgContext)
protected void closeServersideHandlers(MessageContext msgContext)
abstract void callHandlersOnResponse(MessageUpdatableContext context, boolean handleFault)
abstract boolean callHandlersOnRequest(MessageUpdatableContext context, boolean oneWay)
abstract void setUpProcessor()
protected void resetProcessor()
public final boolean isHandlerChainEmpty()
abstract MessageUpdatableContext getContext(Packet p)
final void setHandleFault()
final void setHandleFalse()
Copyright (c) 1997-2012 Oracle and/or its affiliates. All rights reserved.