Hello there,

I am unable to get a simple cbr service to work. The xpath query always
returns false. Snippets of the xbean.xml, the input message, and the error
trace are provided below. Please help! Any suggestions appreciated.


>From the xbean.xml:

<eip:content-based-router service="abc:cbr" endpoint="endpoint1">
  <eip:rules>
    <eip:routing-rule>
        <eip:predicate>
            <eip:xpath-predicate xpath="number(/items) > 0" />
        </eip:predicate>
        <eip:target>
          <eip:exchange-target...>
        <eip:target>
    <eip:routing-rule>
    <!-- no default destination>
  <eip:rules>
<eip:content-based-router>


The input message:

<?xml ... ?>
<DemoObject xmlnls="...">
  <MyDemo xmlns="...">
     ...
     <items>2</items>
     ...
  </MyDemo>
</DemoObject>

Here's the error message. I realize there's no matching rule, but my
question is, why does the xpath expression return false? I've tried this:
xpath="count(/DemoObject) = 1" which fails too. 


ERROR - EIPComponent          - Error processing InOut[
  id: ID: 7.224.72.221-1...
  status: Active
  role: provider
  service: {http://http://demo/abc}cbr
  enfpoint: endpoint1
  in: <?xml ... ?><DemoObject xmlns="...">
        <MyDemo xmlns="..."

         ...

]
java.jbi.messaging.MessagingException: No matching rule found for exchange
      at org.apache...


-- 
View this message in context: 
http://www.nabble.com/content-based-router-problem-tp14881328s12049p14881328.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to