Can I see your xbeans.xml ?
You can try to add this line into your xbeans.xml, to let CXF bus load the jbi transport factory.

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

Willem

Jean-Baptiste Onofré wrote:
Hi,

CXF is not able to find the conduit corresponding to the jbi namespace.

Could you provide your pom.xml to check dependencies ?

Regards
JB

jcamus wrote:
Hi!
I am trying to create dynamically a CXF-SE proxy into a given pojo class
(definied into a Servicemix BEAN-SU).

I want to call a method of the service FileRepository with IFileRepository
defining all the methods.

Here is the code :

private void testProxy(ExternalReferencialExportBo referencialExportBo)
throws Exception {
String namespace = "http://filerepository.esb.transfolio.parkeon.com";;
    String portName = "IFileRepository";
    String serviceName = "FileRepositoryService";
//QName port = new QName(namespace, portName); QName service = new QName(namespace, serviceName);
        JaxWsProxyFactoryBean cf = new JaxWsProxyFactoryBean();
        cf.setServiceName(service);
        cf.setServiceClass(IFileRepository.class);
cf.setAddress("jbi://" + new IdGenerator().generateSanitizedId()); cf.setBindingId(org.apache.cxf.binding.jbi.JBIConstants.NS_JBI_BINDING);
        Bus bus = BusFactory.getDefaultBus();
JBITransportFactory jbiTransportFactory = (JBITransportFactory) bus
          .getExtension(ConduitInitiatorManager.class)
          .getConduitInitiator(CxfSeComponent.JBI_TRANSPORT_ID);
        jbiTransportFactory.setDeliveryChannel(m_channel);

m_fileRepository = (IFileRepository) cf.create(); m_fileRepository.setExportConfig(1, referencialExportBo.getExportId(), referencialExportBo.getConfigTypeName(), referencialExportBo.getConfigTypeCode(), referencialExportBo.getVersionLabel());
    }

When a message is received by my pojo class and I call this method I have
the following error reported into SMX console :


DEBUG - DeliveryChannelImpl            - Notified:
ID:192.168.79.203-123c31d621d-5:2(6144f) in DeliveryChannel{servicemix-jms}
from sendSync
org.apache.cxf.BusException: No conduit initiator was found for the
namespace http://cxf.apache.org/transports/jbi.
        at
org.apache.cxf.transport.ConduitInitiatorManagerImpl.getConduitInitiator(ConduitInitiatorManagerImpl.java:102)
        at
com.parkeon.transfolio.esb.exportation.AbstractReferencialExporter.testProxy(AbstractReferencialExporter.java:90)
        at
com.parkeon.transfolio.esb.exportation.AbstractReferencialExporter.onMessageExchange(AbstractReferencialExporter.java:69)
        at
org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:230)
        at
org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:217)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
        at
org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

Where am I wrong?

Regards.


Reply via email to