Hi, My use case, Bulk Load Operation where I've several thousand XML files: 1. Read XML files from a folder 2. wrap A SOAP Message structure around that XML file 3. send it to Web Service 4. transform response from Web Service into XML response (which it already is, but if I give the output of WS directly to XPath I get java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to org.w3c.dom.Node ). Any way this works. 5. Now the problem point: now based on the SOAP message's SUCCESS or FAILURE status, I've to move the ORIGINAL file and it's content (original of course) to appropriate folder. I was going thru the docs, and some where found that there is "useOriginalMessage", but that's only available at the "onException" element level.
But In my case I dont have any exception, 1. So I'm not sure if similar "useOriginalMessage" flag/attribute should also be useful at the URI level say for "uri=file:...?useOriginalMessage=true"? 2. Or is there any way to hold the, original file's content in Camel Global context (if accessible thru Camel DSL) somewhere and be available for use later at any point. Just like Http Session, where for a given session (or like Http Request), where we can keep our data for the duration of the Transaction(request/session) and use accordingly? <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:camel="http://camel.apache.org/schema/spring" xmlns:jetty="http://mortbay.com/schemas/jetty/1.0" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd http://mortbay.com/schemas/jetty/1.0 http://jetty.mortbay.org/jetty.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd "> <camel:camelContext xmlns="http://camel.apache.org/schema/spring" xmlns:spmlv2="urn:oasis:names:tc:SPML:2:0"> <camel:package>com.xxxxx.sample.camel.router</camel:package> <camel:route> <camel:from uri="file://C:/Projec~1/Documents/xmls/xmls?noop=true"/> <camel:to uri="xslt:wrapXMLWithSOAPMessageStructure.xsl"/> <camel:to uri="bean:someBean"/> <camel:to uri="http://login.abcd.com/IS/services/ISService"/> <camel:to uri="xslt:SOAPResponseMessageTransform.xsl"/> <choice> <when> <xpath>//spmlv2:modifyrespon...@status='success']</xpath> <camel:to uri="file://C:/Projec~1/Documents/xmls/xmls/success?useOriginalMessage=true"/> </when> <when> <xpath>//spmlv2:modifyrespon...@status='failure']</xpath> <camel:to uri="file://C:/Projec~1/Documents/xmls/xmls/error?useOriginalMessage=true"/> </when> <otherwise> </otherwise> </choice> </camel:route> </camel:camelContext> <bean id="someBean" class="com.abcd.sample.camel.SomeBean" /> </beans> -- View this message in context: http://old.nabble.com/Camel-File%3A-how-to-retain-Original-File-contents-when-moving-file--tp28603397p28603397.html Sent from the Camel - Users mailing list archive at Nabble.com.
