Class ServerTubeAssemblerContext

    • Constructor Detail

      • ServerTubeAssemblerContext

        public ServerTubeAssemblerContext​(@Nullable
                                          SEIModel seiModel,
                                          @Nullable
                                          WSDLPort wsdlModel,
                                          @NotNull
                                          WSEndpoint endpoint,
                                          @NotNull
                                          Tube terminal,
                                          boolean isSynchronous)
    • Method Detail

      • getSEIModel

        @Nullable
        public SEIModel getSEIModel()
        The created pipeline will use seiModel to get java concepts for the endpoint
        Returns:
        Null if the service doesn't have SEI model e.g. Provider endpoints, and otherwise non-null.
      • getWsdlModel

        @Nullable
        public WSDLPort getWsdlModel()
        The created pipeline will be used to serve this port.
        Returns:
        Null if the service isn't associated with any port definition in WSDL, and otherwise non-null.
      • getEndpoint

        @NotNull
        public WSEndpoint<?> getEndpoint()
        The created pipeline is used to serve this WSEndpoint. Specifically, its WSBinding should be of interest to many Pipes.
        Returns:
        Always non-null.
      • getTerminalTube

        @NotNull
        public Tube getTerminalTube()
        The last Pipe in the pipeline. The assembler is expected to put additional Pipes in front of it.

        (Just to give you the idea how this is used, normally the terminal pipe is the one that invokes the user application or Provider.)

        Returns:
        always non-null terminal pipe
      • isSynchronous

        public boolean isSynchronous()
        If this server pipeline is known to be used for serving synchronous transport, then this method returns true. This can be potentially use as an optimization hint, since often synchronous versions are cheaper to execute than asycnhronous versions.
      • createServerMUTube

        @NotNull
        public Tube createServerMUTube​(@NotNull
                                       Tube next)
        Creates a Tube that performs SOAP mustUnderstand processing. This pipe should be before HandlerPipes.
      • createHandlerTube

        @NotNull
        public Tube createHandlerTube​(@NotNull
                                      Tube next)
        Creates a Tube that invokes protocol and logical handlers.
      • createMonitoringTube

        @NotNull
        public Tube createMonitoringTube​(@NotNull
                                         Tube next)
        Creates a Tube that does the monitoring of the invocation for a container
      • createSecurityTube

        @NotNull
        public Tube createSecurityTube​(@NotNull
                                       Tube next)
        Creates a Tube that adds container specific security
      • createDumpTube

        public Tube createDumpTube​(String name,
                                   PrintStream out,
                                   Tube next)
        creates a Tube that dumps messages that pass through.
      • createValidationTube

        public Tube createValidationTube​(Tube next)
        creates a Tube that validates messages against schema
      • createWsaTube

        public Tube createWsaTube​(Tube next)
        Creates WS-Addressing pipe
      • getCodec

        @NotNull
        public Codec getCodec()
        Gets the Codec that is set by setCodec(com.sun.xml.ws.api.pipe.Codec) or the default codec based on the binding. The codec is a full codec that is responsible for encoding/decoding entire protocol message(for e.g: it is responsible to encode/decode entire MIME messages in SOAP binding)
        Returns:
        codec to be used for web service requests
        See Also:
        Codecs
      • setCodec

        public void setCodec​(@NotNull
                             Codec codec)
        Interception point to change Codec during Tubeline assembly. The new codec will be used by jax-ws server runtime for encoding/decoding web service request/response messages. WSEndpoint.createCodec() will return a copy of this new codec and will be used in the server runtime.

        The codec is a full codec that is responsible for encoding/decoding entire protocol message(for e.g: it is responsible to encode/decode entire MIME messages in SOAP binding)

        the codec should correctly implement Codec.copy() since it is used while serving requests concurrently.

        Parameters:
        codec - codec to be used for web service requests
        See Also:
        Codecs