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>
|
- Newbie service-jms configuration problem Hélène JOANIN
-