Class HandlerTube

All Implemented Interfaces:
Pipe, Tube
Direct Known Subclasses:
ClientLogicalHandlerTube, ClientMessageHandlerTube, ClientSOAPHandlerTube, ServerLogicalHandlerTube, ServerMessageHandlerTube, ServerSOAPHandlerTube

public abstract class HandlerTube extends AbstractFilterTubeImpl
Author:
WS Development team
  • Field Details

    • handlers

      protected List<jakarta.xml.ws.handler.Handler> handlers
    • port

      @Nullable protected final WSDLPort port
  • Constructor Details

  • Method Details

    • getBinding

      protected WSBinding getBinding()
    • processRequest

      public NextAction processRequest(Packet request)
      Description copied from class: AbstractFilterTubeImpl
      Default no-op implementation.
      Specified by:
      processRequest in interface Tube
      Overrides:
      processRequest in class AbstractFilterTubeImpl
      Parameters:
      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)

      Returns:
      A NextAction object that represents the next action to be taken by the JAX-WS runtime.
    • processResponse

      public NextAction processResponse(Packet response)
      Description copied from class: AbstractFilterTubeImpl
      Default no-op implementation.
      Specified by:
      processResponse in interface Tube
      Overrides:
      processResponse in class AbstractFilterTubeImpl
      Parameters:
      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

      Returns:
      A NextAction object that represents the next action to be taken by the JAX-WS runtime.
    • processException

      public NextAction processException(Throwable t)
      Description copied from class: AbstractFilterTubeImpl
      Default no-op implementation.
      Specified by:
      processException in interface Tube
      Overrides:
      processException in class AbstractFilterTubeImpl
      Returns:
      A NextAction object that represents the next action to be taken by the JAX-WS runtime.
    • initiateClosing

      protected void initiateClosing(jakarta.xml.ws.handler.MessageContext mc)
      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);
    • close

      public final void close(jakarta.xml.ws.handler.MessageContext msgContext)
      Calls close on previously invoked handlers. Also, Cleans up any state left over in the Tube instance from the current invocation, as Tube instances can be reused after the completion of MEP. On Client, SOAPHandlers are closed first and then LogicalHandlers On Server, LogicalHandlers are closed first and then SOAPHandlers
    • closeClientsideHandlers

      protected void closeClientsideHandlers(jakarta.xml.ws.handler.MessageContext msgContext)
      Called by close(MessageContext mc) in a Client Handlertube
    • closeServersideHandlers

      protected void closeServersideHandlers(jakarta.xml.ws.handler.MessageContext msgContext)
      Called by close(MessageContext mc) in a Server Handlertube
    • resetProcessor

      protected void resetProcessor()
    • isHandlerChainEmpty

      public final boolean isHandlerChainEmpty()