HTTP (Stream) to File only writes part of InputStream to File
-------------------------------------------------------------

                 Key: CAMEL-2475
                 URL: https://issues.apache.org/activemq/browse/CAMEL-2475
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-http
    Affects Versions: 2.1.0
            Reporter: Leen Toelen
            Priority: Minor


The follwoing route only writes part of the http input stream to the file 
output (always
in chunks of 1,2,4 or 8KB).:

               <route id="RestToTempDir">
                       <from uri="jetty:http://0.0.0.0:8162/muyrl"; />
                       <setHeader headerName="CamelFileExchangeFile">
                               <header>message.id</header>
                       </setHeader>
                       <to
                               
uri="file://c:/temp/?fileName=${date:now:yyyyMMdd}/asm-${id}.xml" />
                       <setBody>
                               <header>CamelFileExchangeFile</header>
                       </setBody>
               </route>

There are workarounds, but I would change streams to always read until EOF (if 
possible)

Possible workaround 1:
<convertBodyTo type="java.lang.String"/> to force it to convert the stream to 
string before writing.

Possible workaround 2 is to write to a queue first

               <route id="RestToTempDir">
                       <from uri="jetty:http://0.0.0.0:8162/myurl"; />
                       <inOnly uri="activemq:topic=TempTopic" />
                       <setBody>
                               <header>message.id</header>
                       </setBody>
                       <setHeader headerName="CamelFileExchangeFile">
                               <header>message.id</header>
                       </setHeader>
               </route>
               <route id="TempAssemblyToTempArchiveDirectory">
                       <from uri="activemq:topic:TempTopic" />
                       <setHeader headerName="CamelFileExchangeFile">
                               <header>message.id</header>
                       </setHeader>
                       <to
                               
uri="file://c:/xmlarchive_noxslt/?fileName=${date:now:yyyyMMdd}/asm-${id}.xml"/>
               </route>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to