Interface PipelineAssembler

All Known Implementing Classes:
StandalonePipeAssembler

public interface PipelineAssembler
Creates a pipeline.

This pluggability layer enables the upper layer to control exactly how the pipeline is composed.

JAX-WS is going to have its own default implementation when used all by itself, but it can be substituted by other implementations.

See PipelineAssemblerFactory for how PipelineAssemblers are located.

TODO: the JAX-WS team felt that no Pipe should be relying on the SEIModel, so it is no longer given to the assembler. Talk to us if you need it.

Author:
Kohsuke Kawaguchi
See Also:
  • Method Details

    • createClient

      @NotNull Pipe createClient(@NotNull ClientPipeAssemblerContext context)
      Creates a new pipeline for clients.

      When a JAX-WS client creates a proxy or a Dispatch from a Service, JAX-WS runtime internally uses this method to create a new pipeline as a part of the initilization.

      Parameters:
      context - Object that captures various contextual information that can be used to determine the pipeline to be assembled.
      Returns:
      non-null freshly created pipeline.
      Throws:
      jakarta.xml.ws.WebServiceException - if there's any configuration error that prevents the pipeline from being constructed. This exception will be propagated into the application, so it must have a descriptive error.
    • createServer

      @NotNull Pipe createServer(@NotNull ServerPipeAssemblerContext context)
      Creates a new pipeline for servers.

      When a JAX-WS server deploys a new endpoint, it internally uses this method to create a new pipeline as a part of the initialization.

      Note that this method is called only once to set up a 'master pipeline', and it gets copied from it.

      Parameters:
      context - Object that captures various contextual information that can be used to determine the pipeline to be assembled.
      Returns:
      non-null freshly created pipeline.
      Throws:
      jakarta.xml.ws.WebServiceException - if there's any configuration error that prevents the pipeline from being constructed. This exception will be propagated into the container, so it must have a descriptive error.