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

Reply via email to