Hi,
I am using content based routing. it's giving me error like this :-
ERROR - EIPComponent - Error processing exchange InOnly[
id: ID:10.94.117.3-11da8f7654d-11:0
status: Active
role: provider
service: {http://router}router
endpoint: Router
in: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="h
ttp://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas
.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><EPHServiceExcepti
on xmlns:ns2="http://www.cvs.com/eph/messages/1_0"
xmlns:ns4="http://www.cvs.com
/eph/cvs/eph/test"><ns2:ComponentName>ClientID</ns2:ComponentName><ns2:RequestID
>55555</ns2:RequestID><ns2:Severity>HIGH</ns2:Severity><ns2:Code1>1001</ns2:Code
1><ns2:Code2>1002</ns2:Code2><ns2:UserName>CVS</ns2:UserName><ns2:MessageDesc>Lo
g
Message</ns2:MessageDesc></EPHServiceException></SOAP-ENV:Body></SOAP-ENV:Enve
lope>
]
javax.jbi.messaging.MessagingException: No matching rule found for exchange
at
org.apache.servicemix.eip.patterns.ContentBasedRouter.getDestination(
ContentBasedRouter.java:83)
at
org.apache.servicemix.eip.support.AbstractContentBasedRouter.processA
sync(AbstractContentBasedRouter.java:116)
at
org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:161)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:540)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:492)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
ERROR - JmsComponent - Error processing exchange InOnly[
id: ID:10.94.117.3-11da8f7654d-11:0
status: Error
role: consumer
service: {http://router}router
endpoint: Router
in: <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="h
ttp://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas
.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><EPHServiceExcepti
on xmlns:ns2="http://www.cvs.com/eph/messages/1_0"
xmlns:ns4="http://www.cvs.com
/eph/cvs/eph/test"><ns2:ComponentName>ClientID</ns2:ComponentName><ns2:RequestID
>55555</ns2:RequestID><ns2:Severity>HIGH</ns2:Severity><ns2:Code1>1001</ns2:Code
1><ns2:Code2>1002</ns2:Code2><ns2:UserName>CVS</ns2:UserName><ns2:MessageDesc>Lo
g
Message</ns2:MessageDesc></EPHServiceException></SOAP-ENV:Body></SOAP-ENV:Enve
lope>
error: javax.jbi.messaging.MessagingException: No matching rule found for
exch
ange
]
org.springframework.jms.listener.adapter.ListenerExecutionFailedException:
Excha
nge processing failed; nested exception is
javax.jbi.messaging.MessagingExceptio
n: No matching rule found for exchange
Caused by:
javax.jbi.messaging.MessagingException: No matching rule found for exchange
at
org.apache.servicemix.eip.patterns.ContentBasedRouter.getDestination(
ContentBasedRouter.java:83)
at
org.apache.servicemix.eip.support.AbstractContentBasedRouter.processA
sync(AbstractContentBasedRouter.java:116)
at
org.apache.servicemix.eip.EIPEndpoint.process(EIPEndpoint.java:161)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLi
feCycle.java:540)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(Async
BaseLifeCycle.java:492)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
ERROR - JmsComponent - Error setting exchange status to
ERROR
javax.jbi.messaging.MessagingException: illegal call to send / sendSync
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(Me
ssageExchangeImpl.java:614)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(Delive
ryChannelImpl.java:385)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(Delivery
ChannelImpl.java:431)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLife
Cycle.java:58)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun
d(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo
w.java:172)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.j
ava:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.jav
a:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:675)
at java.lang.Thread.run(Thread.java:595)
My xbean file is :-
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:eip="http://servicemix.apache.org/eip/1.0"
xmlns:test="http://jms"
xmlns:rout="http://router"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://servicemix.apache.org/eip/1.0
http://servicemix.apache.org/schema/servicemix-eip-3.2.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<eip:content-based-router service="rout:router" endpoint="Router">
<eip:rules>
<eip:routing-rule>
<eip:predicate>
<eip:xpath-predicate
xpath="(/SOAP-ENV:Envelope/SOAP-ENV:Body/EPHServiceException/ns2:Code1/text()
= '1001' )" />
</eip:predicate>
<eip:target>
<eip:exchange-target service="rout:MyProviderService1" />
</eip:target>
</eip:routing-rule>
<!-- <eip:routing-rule>
<eip:target>
<eip:exchange-target service="rout:MyProviderService1" />
</eip:target>
</eip:routing-rule>-->
</eip:rules>
</eip:content-based-router>
</beans>
My Message is :-
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Header/><SOAP-ENV:Body><EPHServiceException
xmlns:ns2="http://www.cvs.com/eph/messages/1_0"
xmlns:ns4="http://www.cvs.com/eph/cvs/eph/test"><ns2:ComponentName>ClientID</ns2:ComponentName><ns2:RequestID>55555</ns2:RequestID><ns2:Severity>HIGH</ns2:Severity><ns2:Code1>1001</ns2:Code1><ns2:Code2>1002</ns2:Code2><ns2:UserName>CVS</ns2:UserName><ns2:MessageDesc>Log
Message</ns2:MessageDesc></EPHServiceException></SOAP-ENV:Body></SOAP-ENV:Envelope>
Please give some pointer to solve this problem.
Thanks.
Regards
Manish
--
View this message in context:
http://www.nabble.com/error-while-using-eip%3Axpath-predicate-tp20534120p20534120.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.