com.sun.xml.ws.api.pipe
Class ServerTubeAssemblerContext

java.lang.Object
  extended by com.sun.xml.ws.api.pipe.ServerTubeAssemblerContext
Direct Known Subclasses:
ServerPipeAssemblerContext

public class ServerTubeAssemblerContext
extends Object

Factory for well-known server Tube implementations that the TubelineAssembler needs to use to satisfy JAX-WS requirements.


Constructor Summary
ServerTubeAssemblerContext(SEIModel seiModel, WSDLPort wsdlModel, WSEndpoint endpoint, Tube terminal, boolean isSynchronous)
           
 
Method Summary
 Tube createDumpTube(String name, PrintStream out, Tube next)
          creates a Tube that dumps messages that pass through.
 Tube createHandlerTube(Tube next)
          Creates a Tube that invokes protocol and logical handlers.
 Tube createMonitoringTube(Tube next)
          Creates a Tube that does the monitoring of the invocation for a container
 Tube createSecurityTube(Tube next)
          Creates a Tube that adds container specific security
 Tube createServerMUTube(Tube next)
          Creates a Tube that performs SOAP mustUnderstand processing.
 Tube createValidationTube(Tube next)
          creates a Tube that validates messages against schema
 Tube createWsaTube(Tube next)
          Creates WS-Addressing pipe
 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.
 WSEndpoint getEndpoint()
          The created pipeline is used to serve this WSEndpoint.
 SEIModel getSEIModel()
          The created pipeline will use seiModel to get java concepts for the endpoint
 Tube getTerminalTube()
          The last Pipe in the pipeline.
 WSDLPort getWsdlModel()
          The created pipeline will be used to serve this port.
 boolean isSynchronous()
          If this server pipeline is known to be used for serving synchronous transport, then this method returns true.
 void setCodec(Codec codec)
          Interception point to change Codec during Tubeline assembly.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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}