FYI: CAMEL-3552 CAMEL-3551 I will try to commit it asap.
Regards JB On 01/17/2011 11:20 PM, Scott Came wrote:
Thanks Gert. Good idea. Looks like Jean-Baptiste is thinking along the same lines. I've made good progress on the file:sender / custom marshaller approach, and am under a deadline, so I'll go ahead and finish that off. But I agree a camel component is a better way to go. It sounds like Jean-Baptiste may be well down that road, so wouldn't want to duplicate efforts. If one comes along at some point, I'd be happy to try it out. If one doesn't get developed, I'd be happy to help. Thanks. --Scott -----Original Message----- From: Gert Vanthienen [mailto:[email protected]] Sent: Monday, January 17, 2011 12:30 AM To: [email protected] Subject: Re: XSL-FO service engine Scott, You could solve this with a file marshaler in JBI. You then have to either package up the Marshaler and its libraries in a shared library or in the SU itself. However... I think it would be a lot better if we could build a Camel component instead. That component could still be used seamlessly inside ServiceMix, but would also be useful for people outside of the JBI community. And, as an extra, a Camel component is usually a lot easier to write and maintain than a pure JBI component. Imagine we could build a component which uses a fop: URI scheme to invoke the Apache FOP processor, that would allow us to build a Camel route like this to receive message on a queue, convert them to XSL-FO using XSLT, then use the new FOP processor component and send the output to a printer and a file. from("amq:my.document.queue") .to("xslt:mystylesheet.xsl") .to("fop:pdf?some.extra.options.here") .to("file:outputdirectory") .to("printer:some.printer"); Wdyt? If this sounds like a good plan to you, we can start by raising a JIRA issue, and if you want to take a stab at implementing the component yourself, I'll gladly try to help you out wherever I can. Regards, Gert Vanthienen ------------------------ FuseSource Web: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ On Sat, Jan 15, 2011 at 8:10 PM, Scott Came<[email protected]> wrote:I would like to have (and develop, if necessary) a JBI service engine that contains an XSLT stylesheet that transforms an input message (XML) into XSL-FO. The service engine would then apply XSL-FO formatting and generate a PDF into a file specified at SE configuration/deployment time. So in other words, the flow would be: Nmr --[xml message]--> [XSL FO SE] | -->[XSLT stylesheet]-->[XSL-FO]-->[Apache FOP]-->[PDF output file] It looks like I may be able to use the file:sender component, and write my own Marshaller...am I on the right track here? It seems the page at http://fusesource.com/docs/esb/4.3/jbi_file/index.html is a place to start. However...forgive the newbie question here...how would I deploy the custom marshaller? To use the file component ordinarily, I would use the maven archetype to generate the project, then configure it using Spring (in xbean.xml). Would I simply write my marshaller class in src/main/java and then reference it in xbean.xml? And where in the project would I put all the FOP jars (and their dependencies)...there is nothing like a /lib directory within the structure generated by the maven archetype... Thanks for any help you can offer. --Scott
