Not sure why the http transport id is picked up - you may want to try using
JAXRSClientFactoryBean directly for creating a WebClient and set transportId to
Which may or may not fix it, probably not.
The next step is to try to set a ConduitInitiator explicitly, before creating a client :
ConduitInitiatorManager conduitInitiatorMgr =
conduitInitiatorMgr.registerConduitInitiator(transportId, new JettyHTTPTransportFactoryConduitInitiator());
I'm not sure it is the right approach though - for some reasons factories are nor registered.
Should you import
give it a try please. May be just adding these 2 imports would do the trick
Edited by: sergeyb on Jun 25, 2009 4:29 PM
The following appears to work:
Bus bus = BusFactory.getDefaultBus();
BindingFactoryManager mgr = bus.getExtension(BindingFactoryManager.class);
mgr.registerBindingFactory(JAXRSBindingFactory.JAXRS_BINDING_ID, new JAXRSBindingFactory());
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
I tried adding those lines to my beans.xml, but it didn't help.
So just replacing a WebClient factory creation code with the explicit use of JAXRSClientFactoryBean made the difference ?
heh, I just came here to edit my reply. I'm not sure what happened, but I'm once again getting the "No conduit initiator was found for the namespace http://schemas.xmlsoap.org/wsdl/soap/http." message.
AFAIK, I didn't do anything besides reinstall my bundle and stop/stop servicemix.
Btw, where is JettyHTTPTransportFactoryConduitInitiator found?
Edited by: crankydillo on Jun 25, 2009 5:50 PM
it is JettyHTTPTransportFactory which implements ConduitInitiator. Can you try registering it...
Please open a JIRA if you feel it's going nowhere as at the moment I'm not sure why it's not working...Please attach sample bundles and describe the case and we will look into it..Please post a link here if you open it
I switched from WebClient to Apache's HTTPClient. This is just one small piece of the problem I'm trying to solve so I can't spend a lot of time on it now.
Thanks for your help.
This issue has been fixed in CXF, fix should be available in the next fuse release.
Temp workaround is to explicitly register a ClientOnlyHTTPTransportFactory with ClientInitiatorManager bus extension...