Thanks for the reply. Could you give me an example for 1c? I mocked up an
example. Assume the below XML comes from the ftp site. The XMLFilter's match
method accepts the username. How can I use XPath to pass the user to the match
method?
<Example>
<User>joe</User>
</Example>
Class XMLFilter{
public boolean match(String username){
//check db for user
//if found return true/else false
}
}
<route>
<from>"ftp://rider.com/orders?username=rider&password=secret"</from>
<filter>
<simple>${bean:xmlFilter?method=match}</simple>
<to uri="log:worked"/>
</filter>
</route>
Thanks
-----Original Message-----
From: Claus Ibsen [mailto:[email protected]]
Sent: Wednesday, February 01, 2012 3:20 AM
To: [email protected]
Subject: Re: Passing parameter values to bean methods via spring
Hi
On Tue, Jan 31, 2012 at 5:10 PM, Gershaw, Geoffrey
<[email protected]> wrote:
> Hello,
>
>
>
> I am a newbie to Camel. I've read a bunch of docs, but have not found an
> answer to this specific use case.
>
Welcome to the community.
>
>
> 1. Assume the following.
>
> a. I have the belown XML msg in the body of my Message.
>
> <Example>
>
> <User>joe</User>
>
> </Example>
>
> b. I am using a bean as a Filter. The method signature is
>
> i.
> public boolean validateUser(String user)
>
> c. Ideally I would like to user xpath in the config file to pass
> "Joe" to the validateUser method
>
Yes xpath works fine for grabbing content from a XML doc.
However where it get tricky is if your XML uses namespaces. If so
your XPath expression *must* also use namespaces.
> d. If the method returns false, I would like the route to stop.
> Don't know how to do this.
>
You can use a Content Based Router, and in the otherwise leg, you can
use the stop DSL.
> e. If the method returns true, I would like to pass the original
> XML msg to a processor and finish the route.
>
Yes this happens already, the filter predicate is just for determine
true | false
> f. Is this possible?
>
>
Yes, something a like
from X
choice
when bean (myFilterBean)
to Y
otherwise
stop
>
>
>
> Thanks
>
> Geoff Gershaw
>
>
> ===============================================================================
> Please access the attached hyperlink for an important electronic
> communications disclaimer:
> http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
> ===============================================================================
>
--
Claus Ibsen
-----------------
FuseSource
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/
===============================================================================
Please access the attached hyperlink for an important electronic communications
disclaimer:
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
===============================================================================