Interface TubelineAssembler

All Known Implementing Classes:
MetroTubelineAssembler, StandaloneTubeAssembler

public interface TubelineAssembler
Creates a tubeline.

This pluggability layer enables the upper layer to control exactly how the tubeline 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 TubelineAssemblerFactory for how TubelineAssemblers are located.

Author:
Kohsuke Kawaguchi, Jitendra Kotamraju
See Also:
  • Method Details

    • createClient

      @NotNull Tube createClient(@NotNull ClientTubeAssemblerContext context)
      Creates a new tubeline 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 tubeline as a part of the initilization.

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

      @NotNull Tube createServer(@NotNull ServerTubeAssemblerContext context)
      Creates a new tubeline for servers.

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

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

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