Hi Martin! Indeed, this last explanation completely changes your use case ;)
If all you need is to transform the RSS XML into JSON, have you looked at the camel-xmljson data format [1]? Something like that will do: from("rss:feedUrl?consumer.delay=30000") .marshal().rss() // convert from Rome's model to XML .marshal().xmljson() // convert from XML to JSON .to("log:test"); // output the result to the log I strongly suggest using Camel instead of reinventing the wheel like Ramkumar suggested below by creating the entire pipeline from scratch ;) [1] http://camel.apache.org/xmljson.html Regards, *Raúl Kripalani* Apache Camel Committer Enterprise Architect, Program Manager, Open Source Integration specialist http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani http://blog.raulkr.net | twitter: @raulvk <http://twitter.com/raulvk> On Sat, Nov 3, 2012 at 11:37 AM, Martin Stiborský < martin.stibor...@gmail.com> wrote: > Hello, > I guess my crappy english took it place, because I think enricher is not > the thing I need. > > What I need, is a RSS feed on input and the same RSS on output, but in JSON > format. I don't need to add there any other content, any other RSS, just > the transformation/converting to JSON. > > The solution I have and I described here, is not ideal I guess. I was > thinking that split the RSS feed is a good idea, once it's splitted I can > parse one chunk per time, convert them into POJO classes which holds the > one feed chunk data and at the end, go through the List of POJO classes on > send them back to browser in JSON. > > Maybe, I could skipp the splitting and process the whole RSS XML feed, > maybe with XSLT, I don't know and I don't like XSLT :) > > I have to figure it out somehow. > > > On Fri, Nov 2, 2012 at 4:59 PM, <ramkumar.i...@cognizant.com> wrote: > > > I am not sure if I understand you rightly but have you looked at content > > enricher EIP. Basically you have RSS feeds that are enriched through a > > split-aggregate. Example merge RSS feeds for "USA" across multiple > articles > > creating one RSS feed for "USA" etc. > > > > http://camel.apache.org/content-enricher.html > > The content enricher (enrich) retrieves additional data from a resource > > endpoint in order to enrich an incoming message (contained in the > original > > exchange). An aggregation strategy is used to combine the original > exchange > > and the resource exchange. > > -----Original Message----- > > From: Martin Stiborský [mailto:martin.stibor...@gmail.com] > > Sent: Friday, November 02, 2012 8:19 PM > > To: users@camel.apache.org > > Subject: Split, transform and aggregate RSS XML feed > > > > Hello, > > currently I'm working on a case, where is RSS XML feed as data source, > > which I need to grab and parse/transform in to POJO classes structure and > > the return back as JSON. > > > > Concerning the relevant route in Camel, I have restlet as the consumer > > endpoint (there are few things needed to declare in the GET request to > > fetch needed RSS feed). In the middle is a Camel HTTP component to fetch > > the RSS XML feed and then should follow some transformation strategy to > > POJO classes and then send response back to browser/user (producer > > endpoint). > > > > The structure of the RSS XML feed is nothing tricky, it has simple > > structure, simply there is a tag I know, which should be used to split > by, > > to get each chunk of the feed. > > > > So, I tried tokenizeXML() to split the feed. Good, it works. Then, I > tried > > custom Aggregation Strategy, to get all pieces back together. Works as > > well. > > But, where in this scenario fit the transformation part? Right in the > > Aggregation Strategy? Why not, it works as well for me. But I'm not sure, > > if all that is correct. > > > > There should be separated transformation step in the route, what you say? > > > > Thanks for hints, guys! > > > > -- > > S pozdravem > > Martin Stiborský > > > > Jabber: st...@njs.netlab.cz > > This e-mail and any files transmitted with it are for the sole use of the > > intended recipient(s) and may contain confidential and privileged > > information. If you are not the intended recipient(s), please reply to > the > > sender and destroy all copies of the original message. Any unauthorized > > review, use, disclosure, dissemination, forwarding, printing or copying > of > > this email, and/or any action taken in reliance on the contents of this > > e-mail is strictly prohibited and may be unlawful. > > > > > > -- > S pozdravem > Martin Stiborský > > Jabber: st...@njs.netlab.cz >