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
EndpointAddress endpoint address .
JAX-WS extensions that provide additional transport support can
extend this class and implement the
TransportPipeFactory.doCreate 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 |