Class HandlerTube

    • Field Detail

      • handlers

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

        @Nullable
        protected final WSDLPort port
    • Method Detail

      • 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.
      • 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()