Hi,
Done some more research. I think something like the following should be
possible:
* Create a JettyHttpClientFeature extends WebServiceFeature that acts
as the container for the HttpClient instance to use
* Pass that feature as part of the service.getXXXPort(feature) "proxy
factory" method
* Create (and register) a
JettyHttpClientTransportTubeFactory/JettyHttpClientTransportTube
implementations
* The factory has access to the ClientTubeAssemblerContext, which has
access to WSBinding which has access to the WebServiceFeatures that
were provided to the getXXXPort() method.
o If our JettyHttpClientFeature is enabled, then return an
instance of JettyHttpClientTransportTube (initialized with the
HttpClient connection)
o Otherwise return the default HttpTransportPipe (which implements
Tube)
Any comments on this?
Maarten
On 2015-02-17 12:58, Maarten Boekhold wrote:
Hi all,
I am wondering if it is in any way possible to use the Jetty HTTP
Client to handle the underlying HTTP communication for JAX-WS *client
requests*, eg:
HttpClient client = new HttpClient();
// configure HttpClient
Service service = ...;
StockQuote quoteService = (StockQuote)service.getPort(portName);
javax.xml.ws.BindingProvider bp =
(javax.xml.ws.BindingProvider)quoteService;
Map<String,Object> context = bp.getRequestContext();
context.setProperty("HTTP.CLIENT", client);
Float quote = quoteService.getPrice(ticker);
And that request would be done using the "client" instance of
HttpClient. Also, this would need to work with the JAX-WS reference
implementation as included in JSE 7 & 8.
If something like this is not currently possible, does anybody have
any idea where to start looking for what needs to be coded? I've been
looking at the JAX-WS specifications, specifically chapters 5 & 6
(Service APIs and Core APIs), but I'm getting a bit lost. Googling
also has turned up something related to "TransportPipeFactory", which
I guess is specific to the reference implementation, because it's not
mentioned in the JAX-WS standard specifications.
Maarten
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users