java.lang.Object
com.sun.xml.ws.api.pipe.ServerTubeAssemblerContext
- Direct Known Subclasses:
ServerPipeAssemblerContext
Factory for well-known server
Tube
implementations
that the TubelineAssembler
needs to use
to satisfy JAX-WS requirements.- Author:
- Jitendra Kotamraju
-
Constructor Summary
ConstructorDescriptionServerTubeAssemblerContext
(SEIModel seiModel, WSDLPort wsdlModel, WSEndpoint endpoint, Tube terminal, boolean isSynchronous) -
Method Summary
Modifier and TypeMethodDescriptioncreateDumpTube
(String name, PrintStream out, Tube next) creates aTube
that dumps messages that pass through.createHandlerTube
(Tube next) Creates aTube
that invokes protocol and logical handlers.createMonitoringTube
(Tube next) Creates aTube
that does the monitoring of the invocation for a containercreateSecurityTube
(Tube next) Creates aTube
that adds container specific securitycreateServerMUTube
(Tube next) Creates aTube
that performs SOAP mustUnderstand processing.createValidationTube
(Tube next) creates aTube
that validates messages against schemacreateWsaTube
(Tube next) Creates WS-Addressing pipegetCodec()
Gets theCodec
that is set bysetCodec(com.sun.xml.ws.api.pipe.Codec)
or the default codec based on the binding.WSEndpoint<?>
The created pipeline is used to serve thisWSEndpoint
.The created pipeline will use seiModel to get java concepts for the endpointThe lastPipe
in the pipeline.The created pipeline will be used to serve this port.boolean
If this server pipeline is known to be used for serving synchronous transport, then this method returns true.void
-
Constructor Details
-
ServerTubeAssemblerContext
public ServerTubeAssemblerContext(@Nullable SEIModel seiModel, @Nullable WSDLPort wsdlModel, @NotNull WSEndpoint endpoint, @NotNull Tube terminal, boolean isSynchronous)
-
-
Method Details
-
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
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
The created pipeline is used to serve thisWSEndpoint
. Specifically, itsWSBinding
should be of interest to manyPipe
s.- Returns:
- Always non-null.
-
getTerminalTube
The lastPipe
in the pipeline. The assembler is expected to put additionalPipe
s 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
Creates aTube
that performs SOAP mustUnderstand processing. This pipe should be before HandlerPipes. -
createHandlerTube
Creates aTube
that invokes protocol and logical handlers. -
createMonitoringTube
Creates aTube
that does the monitoring of the invocation for a container -
createSecurityTube
Creates aTube
that adds container specific security -
createDumpTube
creates aTube
that dumps messages that pass through. -
createValidationTube
creates aTube
that validates messages against schema -
createWsaTube
Creates WS-Addressing pipe -
getCodec
Gets theCodec
that is set bysetCodec(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:
-
setCodec
Interception point to changeCodec
duringTube
line 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:
-