Class TransportPipeFactory

java.lang.Object
com.sun.xml.ws.api.pipe.TransportPipeFactory

public abstract class TransportPipeFactory extends Object
Factory for transport pipes that enables transport pluggability.

At runtime, on the client side, JAX-WS (more specifically the default PipelineAssembler of JAX-WS client runtime) relies on this factory to create a suitable transport Pipe that can handle the given endpoint address.

JAX-WS extensions that provide additional transport support can extend this class and implement the doCreate(com.sun.xml.ws.api.pipe.ClientPipeAssemblerContext) method. They are expected to check the scheme of the endpoint address (and possibly some other settings from bindings), and create their transport pipe implementations accordingly. For example,

 class MyTransportPipeFactoryImpl {
   Pipe doCreate(...) {
     String scheme = address.getURI().getScheme();
     if(scheme.equals("foo"))
       return new MyTransport(...);
     else
       return null;
   }
 }
 

TransportPipeFactory look-up follows the standard service discovery mechanism, so you need META-INF/services/com.sun.xml.ws.api.pipe.TransportPipeFactory.

TODO

One of the JAX-WS operation mode is supposedly where it doesn't have no WSDL whatsoever. How do we identify the endpoint in such case?

Author:
Kohsuke Kawaguchi
See Also:
  • Constructor Details

    • TransportPipeFactory

      public TransportPipeFactory()
      Default constructor.
  • Method Details