com.sun.xml.ws.handler
Class ClientLogicalHandlerTube
java.lang.Object
com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl
com.sun.xml.ws.api.pipe.helper.AbstractFilterTubeImpl
com.sun.xml.ws.handler.HandlerTube
com.sun.xml.ws.handler.ClientLogicalHandlerTube
- All Implemented Interfaces:
- Pipe, Tube
public class ClientLogicalHandlerTube
- extends HandlerTube
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClientLogicalHandlerTube
public ClientLogicalHandlerTube(WSBinding binding,
WSDLPort port,
Tube next)
- Creates a new instance of LogicalHandlerTube
ClientLogicalHandlerTube
public ClientLogicalHandlerTube(WSBinding binding,
Tube next,
HandlerTube cousinTube)
- This constructor is used on client-side where, SOAPHandlerTube is created
first and then a LogicalHandlerTube is created with a handler to that
SOAPHandlerTube.
With this handle, LogicalHandlerTube can call
SOAPHandlerTube.closeHandlers()
initiateClosing
protected void initiateClosing(javax.xml.ws.handler.MessageContext mc)
- Description copied from class:
HandlerTube
- Must be overridden by HandlerTube that drives other handler tubes for processing a message.
On Client-side: ClientLogicalHandlerTube drives the Handler Processing.
On Server-side: In case SOAP Binding, ServerMessageHandlerTube drives the Handler Processing.
In case XML/HTTP Binding, ServerLogicalHandlerTube drives the Handler Processing.
If its a top HandlerTube, should override by calling #close(MessaggeContext);
- Overrides:
initiateClosing
in class HandlerTube
copy
public AbstractFilterTubeImpl copy(TubeCloner cloner)
- Description copied from interface:
Tube
- Creates an identical clone of this
Tube
.
This method creates an identical pipeline that can be used
concurrently with this pipeline. When the caller of a pipeline
is multi-threaded and need concurrent use of the same pipeline,
it can do so by creating copies through this method.
Implementation Note
It is the implementation's responsibility to call
TubeCloner.add(Tube,Tube)
to register the copied pipe
with the original. This is required before you start copying
the other Tube
references you have, or else there's a
risk of infinite recursion.
For most Tube
implementations that delegate to another
Tube
, this method requires that you also copy the Tube
that you delegate to.
For limited number of Tube
s that do not maintain any
thread unsafe resource, it is allowed to simply return this
from this method (notice that even if you are stateless, if you
got a delegating Tube
and that one isn't stateless, you
still have to copy yourself.)
Note that this method might be invoked by one thread while another
thread is executing the other process method. See
the Codec.copy()
for more discussion about this.
- Specified by:
copy
in interface Tube
- Specified by:
copy
in class AbstractTubeImpl
- Parameters:
cloner
- Use this object (in particular its TubeCloner.copy(Tube)
method
to clone other pipe references you have
in your pipe. See TubeCloner
for more discussion
about why.
- Returns:
- always non-null
Tube
.
setUpProcessor
void setUpProcessor()
- Specified by:
setUpProcessor
in class HandlerTube
getContext
MessageUpdatableContext getContext(Packet packet)
- Specified by:
getContext
in class HandlerTube
callHandlersOnRequest
boolean callHandlersOnRequest(MessageUpdatableContext context,
boolean isOneWay)
- Specified by:
callHandlersOnRequest
in class HandlerTube
callHandlersOnResponse
void callHandlersOnResponse(MessageUpdatableContext context,
boolean handleFault)
- Specified by:
callHandlersOnResponse
in class HandlerTube
closeHandlers
void closeHandlers(javax.xml.ws.handler.MessageContext mc)
- Description copied from class:
HandlerTube
- 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.
- Specified by:
closeHandlers
in class HandlerTube