Do a route that will simply grab the file and store it locally, check the difference between what you really get, and what you want to treat.
<route> <from uri="ftp://user:pass@host/ postalBox/inBox?fileName=simpleTextData.txt&localWorkDirectory=temp&binary=true"/> <setHeader headerName="CamelFilename"><constant>initial.txt</constant></setHeader> <wireTap uril=file://temp/recieved"> <convertBodyTo type="java.lang.String"/> <setHeader headerName="CamelFilename"><constant>after_text_conversion.txt</constant></setHeader> <wireTap uril=file://temp/recieved"> <split .... next, analyze initial.txt and after_text_conversion.txt with hexdump or equivalent, And you will certainly see what to use as separator. (you can also do the same exercise without binary option, but your code will be less portable, from an OS to an other...) François Liot Directeur de production et des systèmes d'information Email : francois.l...@poplidays.com<mailto:francois.l...@poplidays.com> www.poplidays.com<http://www.poplidays.com/> [1_logo]<http://www.poplidays.com/>? ________________________________ From: Noam Ramonet <noamramo...@gmail.com> Sent: Friday, December 5, 2014 3:15 PM To: François LIOT Cc: users@camel.apache.org Subject: Re: Rép: Splitting Message from Ftp Consumer Thanks Francois for your suggestions. I forced binary and changed tokenize pattern to ";" (semicolon), but problem remains: <route id="fromFtp2SOAP"> <from uri="ftp://user:pass@host/ postalBox/inBox?fileName=simpleTextData.txt&localWorkDirectory=temp&binary=true"/> <!-- from uri="file:temp/inBox?noop=true&fileName=simpleTextData.txt"/ --> <log loggingLevel="INFO" message="ftp: ${body}"/> <split streaming="true"> <tokenize token=";"/> <log loggingLevel="INFO" message="Line: ${body}"/> <to uri="direct:continue"/> </split> </route> 2014-12-05 14:24 GMT+01:00 Francois Liot <francois.l...@poplidays.com<mailto:francois.l...@poplidays.com>>: Your issue is probably due to the fact you use "\n" as separator. Use binary ftp option, to guaranty you will receive the very same encoded ascii stream as it could be hosted remote side, and test other fragrances of CRLF ("\r\n", "\n"...). Noam Ramonet <noamramo...@gmail.com<mailto:noamramo...@gmail.com>> a écrit : >Hi all, > >I'm getting an strange behaviour splitting a message body coming from a ftp >consumer. Below route works perfectly when I use a local file consumer >(line commented). I get a log message per file input line, and I can >process the content later correctly. > > > >But when I change to the ftp I get the file information data: > > >[fromFtp2SOAP] INFO - Line: -rw-r--r-- 1 513 512 83 Dec >05 09:55 simpleTextData.txt > > > >The log line with "ftp:${body}" present correctly the full text content of >the file. > > > >I have tried with and without localWorkDirectory option, with same result. > > > >Any clue? Thanks in advance. ><route id="fromFtp2SOAP"> > <from uri="ftp://user:pass@host >/postalBox/inBox?fileName=simpleTextData.txt&localWorkDirectory=temp"/> > <!-- from >uri="file:temp/inBox?noop=true&fileName=simpleTextData.txt"/ --> > <log loggingLevel="INFO" message="ftp: ${body}"/> > <split streaming="true"> > <tokenize token="\n"/> > <log loggingLevel="INFO" message="Line: ${body}"/> > <to uri="direct:continue"/> > </split> > </route>