The problem is that the JBI exchange is sent to the LoanBrokerService, but the NMR can not find this service registered. Make sure an endpoint for the given service has been activated.
Also, you should take a look at the examples in the 3.0 release. Most of them have been refactored to use the new jbi components. On 9/25/06, Hélène JOANIN <[EMAIL PROTECTED]> wrote:
Hi all, I'm newbie on ServiceMix and I would like to be able to use this ESB and particuraly the service-jms JBI component. To have got the hang of ServiceMix and the service-jms, I try to rewrite the bpel-bpe example delivered in the ServiceMix package, by using the service-jms component intead of the JMS lightweight component. Unfortunately, I'm not able to run successfully this modified example and I got this following error INFO - AutoDeploymentService - Directory: deploy: Finished installation of archive: bpe-demo-sa.zip WARN - DefaultBroker - ServiceName (LoanBrokerService) specified for routing, but can't find it registered ERROR - MultiplexingConsumerProcessor - Error while handling jms message javax.jbi.messaging.MessagingException: Could not find route for exchange: MessageExchange[ id: ID:joaninh-46760-1159175936954-3:0 status: Active role: provider service: LoanBrokerService operation: getLoanQuote in: <?xml version="1.0" encoding="UTF-8"?><getLoanQuoteRequest xmlns="urn:logicblaze:soa:loanbroker"> <ssn>102-24532-53254</ssn> <amount>40736.07354934523</amount> <duration>0</duration> </getLoanQuoteRequest> ] for service: LoanBrokerService and interface: null when I run the JMS client. I certainly do an gross error in the descriptor of the jms service unit I added, by I can't find it ! Any help from an expert in ServiceMix will be appreciate. Thanks in advance. Hélène JOANIN. Here are the changes I did in the bpel-bpe example of apache-servicemix-3.0-M2-incubating version. 1) I retrieve the JMS component in the servicemix.xml descriptor of the lw-su. 2) I create a new service unit jms-su with the following xbean deployment: <?xml version="1.0"?> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0" xmlns:amq="http://activemq.org/config/1.0"> xmlns:lb="urn:logicblaze:soa:loanbroker" xmlns:demo="urn:servicemix:demo"> <jms:endpoint service="demo:JmsProvider" endpoint="JmsProvider" role="provider" defaultMep="http://www.w3.org/2004/08/wsdl/in-out" destinationStyle="queue" jmsProviderDestinationName="demo.org.servicemix.output" connectionFactory="#connectionFactory" /> <jms:endpoint service="demo:JmsConsumer" endpoint="jms" targetService="lb:LoanBrokerService" targetEndpoint="loanbroker" defaultOperation="lb:getLoanQuote" role="consumer" defaultMep="http://www.w3.org/2004/08/wsdl/in-out" destinationStyle="queue" jmsProviderDestinationName="demo.org.servicemix.source" connectionFactory="#connectionFactory" /> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> </beans> 3) I update the jbi.xml of service-assembly by adding this new jms-su service unit. 4) I update the servicemix.xml global descriptor with: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:sm="http://servicemix.apache.org/config/1.0" xmlns:amq="http://activemq.org/config/1.0"> <sm:container id="jbi" rootDir="./data/smx" installationDirPath="./install" deploymentDirPath="./deploy" flowName="seda" depends-on="broker" > <sm:activationSpecs> </sm:activationSpecs> </sm:container> <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://localhost:61616" /> </bean> <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean"> <property name="config" value="classpath:activemq.xml"/> </bean> <bean id="jencks" class="org.jencks.JCAContainer" singleton="true"> <property name="bootstrapContext"> <bean class="org.jencks.factory.BootstrapContextFactoryBean"> <property name="threadPoolSize" value="25" /> </bean> </property> <!-- the JCA Resource Adapter --> <property name="resourceAdapter"> <bean id="activeMQResourceAdapter" class="org.apache.activemq.ra.ActiveMQResourceAdapter" singleton="true"> <property name="serverUrl" value="tcp://localhost:61616" /> </bean> </property> </bean> </beans>
-- Cheers, Guillaume Nodet
