Hi Sorry I think you confuse us. You talk about routing slip and show some code of a route that starts from a file, and without any routing slip.
Also see this FAQ http://camel.apache.org/why-do-my-message-lose-its-headers-during-routing.html On Sun, Oct 4, 2015 at 4:20 PM, David Hoffer <dhoff...@gmail.com> wrote: > I'm not trying to add any headers to the file when reading and > writing...I'm just adding them to the Camel Exchange so that when the file > is written in my Processor I have some 'metadata' about the file. I need > the 'metadata' so I know where to write the file. I get the bytes to write > from the exchange it seems only natural to get the 'metadata' from the same > exchange. Why does Camel throw the headers away? I'm pretty new to > Camel...not sure how to add a custom message transformation...any examples > of that? > > Btw, I have no need for the header information after I write the file in my > processor...only before. > > -Dave > > On Sun, Oct 4, 2015 at 12:15 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > >> Hi >> >> Ah yeah read from a file and a file does not include any headers when >> you write to a file. The body is the content of the file. And all >> headers is not stored. You need to do some kind of custom message >> transformation if you want to include headers, and also when you read >> the file. eg where should the headers be stored in the file? >> >> On Sat, Oct 3, 2015 at 2:33 PM, David Hoffer <dhoff...@gmail.com> wrote: >> > We add the headers where we create and/or call process on the routing >> > slip... >> > >> > exchange.getIn().setHeader("customHeader1", somedata1); >> > exchange.getIn().setHeader("customHeader2", somedata2); >> > exchange.getIn().setHeader(routingSlipHeaderName, toUris); >> > routingSlip.process(exchange); >> > >> > But then when when the message is handled by a processor bean we try to >> get >> > the header back via >> > >> > String data1 = (String) exchange.getIn().getHeader("customHeader1"); >> > >> > This always returns null and it removed the 'routingSlipHeaderName' >> header >> > too that used used by the routing slip. (Its okay that it removed this >> > one...but need the others.) >> > >> > Here is the XML config for the receiving route. The CopyFileProcessor is >> > the one that does not get the custom headers. >> > >> > <bean id="backupProcessor" >> > class="com.issinc.jms.gangplank.impl.CopyFileProcessor"> >> > <property name="path" value="${gp.camel.backup.dir}"/> >> > </bean> >> > >> > <routeContext id="backup-endpoint" >> > xmlns="http://camel.apache.org/schema/spring"> >> > <route id="to_backup" autoStartup="{{gp.camel.backup.isConfigured}}"> >> > <from >> uri="file://{{gangplank.data}}/toBackup/?delete=true&moveFailed=.error&filter=#partialFilter&delay=200"/> >> > <process ref="backupProcessor" /> >> > <onException redeliveryPolicyRef="redeliveryProfile"> >> > <exception>java.lang.Exception</exception> >> > <handled> >> > <constant>false</constant> >> > </handled> >> > </onException> >> > </route> >> > </routeContext> >> > >> > >> > >> > >> > -Dave >> > >> > On Sat, Oct 3, 2015 at 2:27 AM, Claus Ibsen <claus.ib...@gmail.com> >> wrote: >> > >> >> Where do you set those custom headers? >> >> >> >> On Fri, Oct 2, 2015 at 8:20 PM, David Hoffer <dhoff...@gmail.com> >> wrote: >> >> > I'm using a RoutingSlip to route files but all custom headers set on >> the >> >> > Exchange are discarded. I assume that's because Camel assumes custom >> >> > headers are not useful for file messages but I need a way to pass >> source >> >> > information from the RoutingSlip to the file Processors. >> >> > >> >> > How can I do this? Is there a way I can override the default >> behavior of >> >> > removing all custom headers? >> >> > >> >> > -Dave >> >> >> >> >> >> >> >> -- >> >> Claus Ibsen >> >> ----------------- >> >> http://davsclaus.com @davsclaus >> >> Camel in Action 2nd edition: >> >> https://www.manning.com/books/camel-in-action-second-edition >> >> >> >> >> >> -- >> Claus Ibsen >> ----------------- >> http://davsclaus.com @davsclaus >> Camel in Action 2nd edition: >> https://www.manning.com/books/camel-in-action-second-edition >> -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2nd edition: https://www.manning.com/books/camel-in-action-second-edition