Hi all, 

I am (attempting) to use SOAP over JMS within Fuse ESB (v4.4.1-fuse-06-03).
I have a web service in one bundle that I wish to call from another. The
service exposes a simple getAll() method which return a list of Users. I
have had the wsdl/Java code running as a conventional web service over http
(and haven't changed that code at all). 

Service beans.xml: 

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:camel="http://camel.apache.org/schema/spring";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
xmlns:cxf="http://camel.apache.org/schema/cxf";
        xmlns:soap="http://cxf.apache.org/bindings/soap";
xmlns:context="http://www.springframework.org/schema/context";
        xmlns:jms="http://cxf.apache.org/transports/jms";
        xsi:schemaLocation="http://www.springframework.org/schema/beans  
                               
http://www.springframework.org/schema/beans/spring-beans.xsd
                                http://cxf.apache.org/jaxws  
                                http://cxf.apache.org/schemas/jaxws.xsd
                               
http://www.springframework.org/schema/context
                               
http://www.springframework.org/schema/context/spring-context.xsd
                                http://camel.apache.org/schema/cxf  
                               
http://camel.apache.org/schema/cxf/camel-cxf.xsd
                                http://camel.apache.org/schema/spring
                               
http://camel.apache.org/schema/spring/camel-spring.xsd
                                http://cxf.apache.org/transports/jms  
                               
http://cxf.apache.org/schemas/configuration/jms.xsd";>

        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-jms.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />

        <context:component-scan
base-package="com.XXX.msci.poc.users.jaxws"></context:component-scan>

        <bean
class="org.apache.camel.component.cxf.transport.CamelTransportFactory">
                <property name="bus" ref="cxf" />
                <property name="camelContext" ref="camelContext" />
                <property name="transportIds">
                        <list>
                               
<value>http://cxf.apache.org/transports/camel</value>
                        </list>
                </property>
        </bean>

        <jaxws:endpoint id="userServiceJAXWS"
address="camel://direct:UserServiceJAXWS" 
                wsdlLocation="wsdl/userservice.wsdl"
serviceName="ns:UserServiceJAXWSService" 
                endpointName="ns:UserServiceJAXWSPort" 
               
implementor="com.XXX.msci.poc.users.jaxws.UserServiceJAXWSImpl" 
                xmlns:ns="http://jaxws.users.poc.msci.XXX.com/"; />

        <camel:camelContext id="camelContext" 
                xmlns="http://camel.apache.org/schema/spring";>
                <route>
                        <from uri="activemq:queue:UserServiceQueue" />
                        <to uri="direct:UserServiceJAXWS" />
                </route>
        </camel:camelContext>

        <bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
                <property name="brokerURL" value="tcp://localhost:61616" />
        </bean>

        <bean 
class="org.springframework.osgi.extensions.annotation.ServiceReferenceInjectionBeanPostProcessor"
/>

</beans>

Client beans.xml: 

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:camel="http://camel.apache.org/schema/spring";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
xmlns:cxf="http://camel.apache.org/schema/cxf";
        xmlns:soap="http://cxf.apache.org/bindings/soap";
xmlns:context="http://www.springframework.org/schema/context";
        xmlns:jms="http://cxf.apache.org/transports/jms";
        xsi:schemaLocation="http://www.springframework.org/schema/beans  
                               
http://www.springframework.org/schema/beans/spring-beans.xsd
                                http://cxf.apache.org/jaxws  
                                http://cxf.apache.org/schemas/jaxws.xsd
                               
http://www.springframework.org/schema/context
                               
http://www.springframework.org/schema/context/spring-context.xsd
                                http://camel.apache.org/schema/cxf  
                               
http://camel.apache.org/schema/cxf/camel-cxf.xsd
                                http://camel.apache.org/schema/spring
                               
http://camel.apache.org/schema/spring/camel-spring.xsd
                                                  
http://cxf.apache.org/transports/jms  
                                                  
http://cxf.apache.org/schemas/configuration/jms.xsd";>

        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-jms.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />

        <camel:camelContext xmlns="http://camel.apache.org/schema/spring";>
                <contextScan />
        </camel:camelContext>

        <bean
class="org.apache.camel.component.cxf.transport.CamelTransportFactory">
                <property name="bus" ref="cxf" />
                <property name="camelContext" ref="camelContext" />
                <property name="transportIds">
                        <list>
                               
<value>http://cxf.apache.org/transports/camel</value>
                        </list>
                </property>
        </bean>

        <camel:camelContext id="camelContext"
xmlns="http://camel.apache.org/schema/spring"; />

        <context:component-scan
base-package="com.XXX.msci.poc.workflow"></context:component-scan>

        <bean 
               
class="org.springframework.osgi.extensions.annotation.ServiceReferenceInjectionBeanPostProcessor"
/>

        <jaxws:client id="UserServiceJAXWS" 
                serviceClass="com.XXX.msci.poc.users.jaxws.UserServiceJAXWS" 
                address="camel:activemq:queue:UserServiceQueue" />

        <bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
                <property name="brokerURL" value="tcp://localhost:61616" />
        </bean>

</beans>

First off, am I on the right lines? The service deploys OK (no errors in
logs etc.) which is a good start I suppose. However when I come to call it,
I get this error: 

javax.xml.ws.soap.SOAPFaultException: Could not find conduit initiator for
address: camel:activemq:queue:UserServiceQueue and transport:
http://schemas.xmlsoap.org/soap/http
        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at $Proxy122.getAll(Unknown
Source)[229:com.XXX.msci.poc.msci-poc-userservice-jaxws:0.0.1.SNAPSHOT] 
        at
com.XXX.msci.poc.workflow.impl.Test1WorkflowGetUserListProcessor.process(Test1WorkflowGetUserListProcessor.java:39)[228:com.XXX.msci.poc.msci-poc-test1workflow:0.0.1.SNAPSHOT]
 
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:81)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:319)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:210)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:304)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:116)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.Pipeline.process(Pipeline.java:79)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)[88:org.apache.camel.camel-core:2.8.0.fuse-05-03]
 
        at
org.apache.servicemix.camel.nmr.ServiceMixConsumer.process(ServiceMixConsumer.java:79)[103:org.apache.servicemix.camel.component:4.4.1.fuse-06-03]
 
        at
org.apache.servicemix.nmr.core.InternalEndpointWrapper.process(InternalEndpointWrapper.java:86)[98:org.apache.servicemix.nmr.core:1.5.1.fuse-05-03]
 
        at
org.apache.servicemix.nmr.core.ChannelImpl.process(ChannelImpl.java:271)[98:org.apache.servicemix.nmr.core:1.5.1.fuse-05-03]
 
        at
org.apache.servicemix.nmr.core.ChannelImpl$1.run(ChannelImpl.java:227)[98:org.apache.servicemix.nmr.core:1.5.1.fuse-05-03]
 
        at
org.apache.servicemix.executors.impl.ExecutorImpl$1.run(ExecutorImpl.java:64)[102:servicemix-utils:1.5.1.fuse-05-03]
 
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_31]
 
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_31]
 
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_31] 
Caused by: java.lang.RuntimeException: Could not find conduit initiator for
address: camel:activemq:queue:UserServiceQueue and transport:
http://schemas.xmlsoap.org/soap/http
        at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:227)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:236)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:88)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.UpfrontConduitSelector.prepare(UpfrontConduitSelector.java:61)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.ClientImpl.prepareConduitSelector(ClientImpl.java:843)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:526)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:461)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:364)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)[126:org.apache.cxf.bundle:2.4.3.fuse-03-02]
 
        ... 43 more 

Please help me Camel gurus! 

Ben

--
View this message in context: 
http://camel.465427.n5.nabble.com/Could-not-find-conduit-initiator-for-address-using-SOAP-JMS-tp5715549.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to