Willem Jiang,

Could you please let me know where this xpath JUnit test was added? It
would be great if you could let me know the JUnit class name?

setHeader() should be able to take the XPath expression.
> I just add unit test in the camel trunk to show it.
>
>  setHeader("foo").xpath("/personFile/text()").
>

Regards,
Jothi

On Tue, Aug 28, 2012 at 4:56 AM, Willem jiang <willem.ji...@gmail.com>wrote:

> setHeader() should be able to take the XPath expression.
> I just add unit test in the camel trunk to show it.
>
>  setHeader("foo").xpath("/personFile/text()").
>
> --
> Willem Jiang
>
> FuseSource
> Web: http://www.fusesource.com (http://www.fusesource.com/)
> Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/)
> (English)
>           http://jnn.javaeye.com (http://jnn.javaeye.com/) (Chinese)
> Twitter: willemjiang
> Weibo: willemjiang
>
>
>
>
>
> On Monday, August 27, 2012 at 6:53 PM, Joe San wrote:
>
> > I managed to get that working.
> >
> > I have another question on the route configuration:
> >
> > Assuming the following xml snippet:
> >
> > <pss:info>
> > <personFile>098765432.txt</personFile>
> > <address>
> > <street>xyz</street>
> > <city>Frankfurt</city>
> > </address>
> > <persons>
> > <person>
> > <name>joe</name>
> > <age>32</age>
> > <country>Germany</country>
> > </person>
> >
> > <person>
> > <name>sam</name>
> > <age>32</age>
> > <country>Germany</country>
> > </person>
> > </persons>
> > </pss:info>
> >
> > The task was to get the List of Person which I managed to extract using
> > xpath. I would also want to get the fileName value and set that as a
> header
> > in my Exchange. My route definition is as below:
> >
> > from("file://C:/folders/inbox?noop=true")
> >
> >
> .setFileNameHeader(ns.xpath("/SOAP:Envelope/SOAP:Body/pss:info/personFile/text()"))
> > .split(ns.xpath("//SOAP:Envelope/SOAP:Body/pss:info/persons"))
> > .bean(new PersonProcessor())
> > .to("file://C:/folders/inbox");
> >
> > But I get the following error message shown:
> >
> > The method setFileNameHeader(XPathExpression) is undefined for the type
> > RouteDefinition
> >
> > The setHeader also seems to be wrong.
> >
> > Regards,
> > Jothi
> >
> > On Fri, Aug 24, 2012 at 9:35 PM, Christian Müller <
> > christian.muel...@gmail.com (mailto:christian.muel...@gmail.com)> wrote:
> >
> > > Yes, should be possible.
> > >
> > > Sent from a mobile device
> > > Am 24.08.2012 13:56 schrieb "Joe San" <codeintheo...@gmail.com(mailto:
> codeintheo...@gmail.com)>:
> > >
> > > > The most common language to use is XPath, which allows you to
> evaluate
> > > > XPath
> > > > expressions on the message body. For example, suppose the message
> > >
> > >
> > > contains
> > > > the following
> > > > XML document:
> > > >
> > > > <order customerId="123">
> > > > <status>in progress</status>
> > > > </order>
> > > >
> > > > By using XPath expressions, you can extract parts of the document and
> > > bind
> > > > them to
> > > > parameters, like this:
> > > >
> > > > public void updateStatus(@XPath("/order/@customerId") Integer
> customerId,
> > > > @XPath("/order/status/text()") String status) {
> > > > ....
> > > > ....
> > > > }
> > > >
> > > > The above snippet is from the Camel in Action book. Can I use the
> @XPath
> > > to
> > > > evaluate to a List < Person >?
> > > >
> > > > My xml would look like this:
> > > >
> > > > <info>
> > > > <address>
> > > > <street>xyz</street>
> > > > <city>Frankfurt</city>
> > > > </address>
> > > >
> > > > <person>
> > > > <name>joe</name>
> > > > <age>32</age>
> > > > <country>Germany</country>
> > > > </person>
> > > >
> > > > <person>
> > > > <name>sam</name>
> > > > <age>32</age>
> > > > <country>Germany</country>
> > > > </person>
> > > >
> > > > </info>
> > > >
> > > > The XPath should evaluate the fetch the List of Person objects!
> > > >
> > > > Regards,
> > > > Jothi
> > >
> >
>
>
>
>

Reply via email to