Hi,

according to the 2.4 release notes, importing the CXF extensions in the
Spring configuration is no longer necessary. I'm running into a problem with
that with 2.5.2, however.

The original WSDL specifies an HTTP transport but communication really is
via JMS. So my client config looks like this:

  <jaxws:client name="{http://bla.de/Service/impl/FAG}ServicePort";
                createdFromAPI="true"
                serviceClass="de.bla.ServicePortType"
                transportId="http://cxf.apache.org/transports/jms";
                address="jms://">
    <jaxws:features>
      <bean class="org.apache.cxf.transport.jms.JMSConfigFeature">
        <property name="jmsConfig" ref="jmsConfig"/>
      </bean>
    </jaxws:features>
    ...

Now, unless I import META-INF/cxf/cxf-extension-jms.xml I get the following
error at runtime:

2012-02-03 11:34:15,458 ERROR | Caught exception: No conduit initiator was
found for the namespace http://cxf.apache.org/transports/jms. |
client.VRIFClient
org.apache.cxf.interceptor.Fault: No conduit initiator was found for the
namespace http://cxf.apache.org/transports/jms.
        at
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:101)
        at
org.apache.cxf.endpoint.UpfrontConduitSelector.selectConduit(UpfrontConduitSelector.java:71)
        at
org.apache.cxf.endpoint.ClientImpl.getConduit(ClientImpl.java:798)
        at
org.apache.cxf.transport.jms.JMSConfigFeature.initialize(JMSConfigFeature.java:52)
        at
org.apache.cxf.frontend.ClientFactoryBean.applyFeatures(ClientFactoryBean.java:112)
        at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:99)
        at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:117)
        at
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:124)
        at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:471)
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:336)
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:323)
        at javax.xml.ws.Service.getPort(Service.java:92)
        at
de.bla.service.impl.fag.MyService.getServicePort(MyService.java:59)
        at de.bla.vrif.client.VRIFClient.run(VRIFClient.java:77)
        at de.bla.vrif.client.VRIFClient.main(VRIFClient.java:33)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:283)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.cxf.BusException: No conduit initiator was found for
the namespace http://cxf.apache.org/transports/jms.
        at
org.apache.cxf.transport.ConduitInitiatorManagerImpl.getConduitInitiator(ConduitInitiatorManagerImpl.java:135)
        at
org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:72)
        ... 20 more

If I do import the extension I get past this point but then error out later
with a heap exception upon retrieving the JMS factory (which seems to go
wrong and retries recursively or something).

Any ideas what might be wrong here?

Thanks,
Jens

--
View this message in context: 
http://cxf.547215.n5.nabble.com/JMS-transport-No-conduit-initiator-was-found-tp5453473p5453473.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to