Class 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:
    StandalonePipeAssembler
    • Constructor Detail

      • TransportPipeFactory

        public TransportPipeFactory()