Good morning
I enabled tracing for Camel in my camelContext.xml file adding the following
trace="true"
I then executed a test with a message I had in another queue.
The file was transmitted and displayed the binary data on the screen.
I do not see any entries in my log file with LOG.trace but what I do see is an
INFO entry when the file was received on the queue and then sent via SFTP and
entry of the following:
BodyType: byte{}
Would this indicate the message/data is being retrieved and sent in binary
format?
Jason
________________________________
From: Jason Jackson <[email protected]>
Sent: Sunday, March 1, 2026 8:03 AM
To: [email protected] <[email protected]>
Subject: Re: Camel and ActiveMQ SFTP Data Transfers in Raw Binary Format
Thanks for responding so quickly.
The sending application is an appliance, and I have that group validating how
data is being sent along with what connection options and settings are used.
The connection from the appliance to ActiveMQ is performed using the AMPQ
protocol. The data is suppose to be in binary format when it is placed onto
the ActiveMQ queue.
Are you stating that jmsMessageType=Bytes is only valid when data is placed
onto a queue not when read?
Are there any specific trace settings I should set/enable or just trace
everything?
Jason
________________________________
From: Claus Ibsen <[email protected]>
Sent: Saturday, February 28, 2026 11:35 AM
To: [email protected] <[email protected]>
Subject: Re: Camel and ActiveMQ SFTP Data Transfers in Raw Binary Format
CAUTION: This email originated from outside of the organization. Do not click
links or open attachments unless you recognize the sender and know the content
is safe.
[You don't often get email from [email protected]. Learn why this is
important at https://aka.ms/LearnAboutSenderIdentification ]
Hi
When you set jmsMessageType=Bytes then are you sure the sender is sending
the data to the ActiveMQ as byte data?
This option is in fact only for when YOU send messages from Camel to the
broker. Not when you RECEIVE.
You can turn on TRACE logging on org.apache.camel.component.jms
Then Camel will log what kind of JMS message it detected from the broker,
such as
LOG.trace("Extracting body as a TextMessage from JMS message: {}", message);
On Sat, Feb 28, 2026 at 4:56 PM Jason Jackson <[email protected]>
wrote:
> I should have provided that and was not thinking.
>
> I am using the Camel version that is embedded with ActiveMQ 6.2.1 which is
> 4.14.4
>
>
> Jason
>
>
> ________________________________
> From: Claus Ibsen <[email protected]>
> Sent: Saturday, February 28, 2026 10:49 AM
> To: [email protected] <[email protected]>
> Subject: Re: Camel and ActiveMQ SFTP Data Transfers in Raw Binary Format
>
> CAUTION: This email originated from outside of the organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
>
> [You don't often get email from [email protected]. Learn why this is
> important at https://aka.ms/LearnAboutSenderIdentification ]
>
> Hi
>
> What version of Apache Camel are you using?
>
> On Sat, Feb 28, 2026 at 4:33 PM Jason Jackson <[email protected]>
> wrote:
>
> > I am receiving data within ActiveMQ on QUEUE_1, the data that arrives on
> > the queue is in a raw binary format. The data is being retrieved from
> > ActiveMQ using a Camel route and transmitted to an alternate location
> using
> > SFTP. If the data is modified in any way the destination location will
> > reject the data. When the Data is retrieved from ActiveMQ and sent via
> > SFTP there is a slight files size difference and data does not appear to
> be
> > in the exact format.
> >
> > After my initial testing I discovered I was possibly missing one setting
> > on the from uri line, I added jmsMessageType=Bytes to force JMS to know
> the
> > file is in binary format.
> >
> > My example Camel rout I am using is below.
> >
> > <beans
> > xmlns="
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934771971412%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=bbChESbFimpaLLG8sgSrQxVcYXBH%2F2T60c4lnIr%2FBjM%3D&reserved=0<http://www.springframework.org/schema/beans>
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772006861%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=f%2BeVU14Re%2FKLs%2Bn43bsNPxvFsq8xvcQrVhn3gbU1pf8%3D&reserved=0<http://www.springframework.org/schema/beans>>"
> > xmlns:xsi="
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772030730%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=R%2F6U4tYnRjFSH5mntu%2F3AL6%2B2yQj7VvXWJysjdOJdxs%3D&reserved=0<http://www.w3.org/2001/XMLSchema-instance>
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772052492%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=N2c5A5PoRrAfpB9xgoYiVHevRKkK8zHrLqt50GrrVpI%3D&reserved=0<http://www.w3.org/2001/XMLSchema-instance>>"
> > xsi:schemaLocation="
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772071607%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=dsVURP2A0KlrXxkRNLewy3gziduM66DdXxrB%2FmNOa2E%3D&reserved=0<http://camel.apache.org/schema/spring>
> >
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring%2Fcamel-spring.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772089763%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=3DoWA5d2u21rvotUidUXumgVBf8pb1ZyWON9KMH015M%3D&reserved=0<http://camel.apache.org/schema/spring/camel-spring.xsd>
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring%2Fcamel-spring.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772108387%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=xDQUKzvUBGVOzbvcmVinDbvvYrlXEflQ41vdXfSs9Qs%3D&reserved=0<http://camel.apache.org/schema/spring/camel-spring.xsd>>
> >
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772126560%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=dDH8ztn%2FwWhhBySet%2BHR%2FeR1VP7tP5lL5Nnyg7875iE%3D&reserved=0<http://www.springframework.org/schema/beans>
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772143724%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=GeCJKKRMiN2Ul0X%2Bge6f9vllCfvGC0RJdXLoeR1xvRw%3D&reserved=0<http://www.springframework.org/schema/beans>>
> >
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans%2Fspring-beans.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772157586%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=PCXm4nFz9AB3GIPReExBkxS59mBdL%2F1u3KbaK669iZk%3D&reserved=0<http://www.springframework.org/schema/beans/spring-beans.xsd>
> "><https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.springframework.org%2Fschema%2Fbeans%2Fspring-beans.xsd&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772171143%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=P7vQGWaix5%2Bevz9JDVNPh2%2FkqrAWJ7mpmc34eRNHKiw%3D&reserved=0>
> >
> > <camelContext id="camel" xmlns="
> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772189357%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=yxITPcSZ3JNxXef7J0nl7CVxunG8I4NB8l9FGeMI0X4%3D&reserved=0<http://camel.apache.org/schema/spring>
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring&data=05%7C02%7Cjason.jackson%40itechag.com%7C3a20b74aab1b4a07959308de76e7b720%7C07e5f1b9902a4d9f974c04601319bfec%7C0%7C0%7C639078934772204709%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C60000%7C%7C%7C&sdata=xciZNHBhNRGc0JBFqOZkbJs58W2kO3gZ4XkNJgmv99c%3D&reserved=0<http://camel.apache.org/schema/spring>>"
> > streamCache="true">
> > <route id="QUEUE_1">
> > <from
> >
> uri="jms:queue://QUEUE_1?jmsMessageType=Bytes&cacheLevelName=CACHE_CONSUMER&concurrentConsumers=4&maxConcurrentConsumers=10&maxMessagesPerTask=200&transacted=true&lazyCreateTransactionManager=false&acknowledgementModeName=CLIENT_ACKNOWLEDGE&connectionFactory=#broker1"/>
> > <setProperty name="sftpFileName">
> > <simple>${header.JMSCorrelationID}</simple>
> > </setProperty>
> > <!--
> > <convertBodyTo type="java.io.InputStream"/>
> > <convertBodyTo type="byte[]"/>
> > <convertBodyTo type="java.lang.Byte[]"/>
> > -->
> > <to uri="sftp://user@ip
> >
> /dir?password=myPassword&autoCreate=true&binary=true&passiveMode=true&knownHostsFile=/dir/hosts&fileName=${exchangeProperty.sftpFileName}"/>
> > </route>
> > </camelContext>
> > </beans>
> >
> >
> > I am not sure if any additional transformations or settings are required
> > in or to retrieve the file from ActiveMQ and send it via SFTP in pure raw
> > binary format.
> >
> > I attempted to set/use the lines that are commented out but receive
> > additional errors in my log file, those errors are below.
> >
> >
> > Caused by: org.apache.camel.InvalidPayloadException: No body available of
> > type: java.io.InputStream but has type: java.lang.Byte[] on:
> > Message[ID:broker_1]. Caused by: No type converter available to convert
> > from type: java.lang.Byte[] to the required type: java.io.InputStream.
> > Exchange[]. Caused by:
> [org.apache.camel.NoTypeConversionAvailableException
> > - No type converter available to convert from type: java.lang.Byte[] to
> the
> > required type: java.io.InputStream]
> >
> > Caused by: org.apache.camel.NoTypeConversionAvailableException: No type
> > converter available to convert from type: java.lang.Byte[] to the
> required
> > type: java.io.InputStream
> >
> > Execution of JMS message listener failed. Caused by:
> > [org.apache.camel.component.file.GenericFileOperationFailedException -
> > Cannot store file: dir/file.name] |
> > org.apache.camel.component.jms.EndpointMessageListener | Camel (camel)
> > thread #2 - JmsConsumer[QUEUE_1]
> >
> > Caused by: org.apache.camel.InvalidPayloadException: No body available of
> > type: java.io.InputStream but has type: java.lang.Byte[] on:
> > Message[ID:broker_1]. Caused by: No type converter available to convert
> > from type: java.lang.Byte[] to the required type: java.io.InputStream.
> > Exchange[]. Caused by:
> [org.apache.camel.NoTypeConversionAvailableException
> > - No type converter available to convert from type: java.lang.Byte[] to
> the
> > required type: java.io.InputStream]
> >
> > Caused by: org.apache.camel.NoTypeConversionAvailableException: No type
> > converter available to convert from type: java.lang.Byte[] to the
> required
> > type: java.io.InputStream
> >
> >
> > Does the example route above appear correct or should some additional
> > settings/conversions be added
> >
> >
> >
> > Jason
> >
>
>
> --
> Claus Ibsen
>
--
Claus Ibsen