Hi,
guess you need to make your xpath namespace aware.
you can find example here:
http://camel.apache.org/xpath.html,
in part named 'Using XML configuration'
In your case I guess it would look sth like:
<camelContext id="camel"
xmlns="
http://activemq.apache.org/camel/schema/spring">
xmlns:ns="
http://schemas.microsoft.com/dynamics/2006/02/documents/Message"
<route>
<from uri="activemq:XML"/>
<choice>
<when>
<xpath>/ns:Envelope/ns:Header[ns:Action='Customer']</xpath>
<to uri="activemq:queue:CUSTOMER"/>
</when>
<otherwise>
<to uri="activemq:queue:CONTACT"/>
</otherwise>
</choice>
</route>
</camelContext>
- but I didn't check it - so it may be a bit different ;)
br,
maciek
On Wed, 2009-09-23 at 09:27 -0700, titexe wrote:
> Hello,
>
> I'm trying to developp camel route to filter messages XML format (xpath)
>
> This is my configuration:
>
> <camelContext id="camel"
> xmlns="
http://activemq.apache.org/camel/schema/spring">
> <route>
> <from uri="activemq:XML"/>
> <choice>
> <when>
> <xpath>/Envelope/Header[Action='Customer']</xpath>
> <to uri="activemq:queue:CUSTOMER"/>
> </when>
> <otherwise>
> <to uri="activemq:queue:CONTACT"/>
> </otherwise>
> </choice>
> </route>
> </camelContext>
>
> This configuration work very fine for message in this xml format :
> <?xml version="1.0" encoding="UTF-8"?>
> <Envelope>
> <Header>
> <Action>Customer</Action>
> </Header>
>
> But in this XML format, does not work:
>
> xml version = "1.0" encoding = "UTF-8"?
> <Envelope
> Xmlns="
http://schemas.microsoft.com/dynamics/2006/02/documents/Message">
> <Header>
> <Action> Customer </ Action>
> </ Header>
>
>
> There's someone who could help me solve this problem,
>
> thank you in advance
>
> version activemq : fuse message broker 5.3.0.3
> version java : Java 1.6
>
> Best regards,
>
> titexe
>