Have you tried taking a look at the SQS component source for answers? https://github.com/apache/camel/tree/master/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs
I've never used the SQS component before, but it looks like the SQS producer only sets SQS setMessageAttributes if they're of type String or ByteBuffer and the header name on the in message doesn't start with "Camel" or "org.apache.camel". Instead of storing the message attributes in a map as one in message header - try storing each message attribute as it's own in message header. Also, the SQS producer should log this message if the header can't be stored as a message attribute. However, this message won't be logged for in message headers whose name starts with "Camel" or "org.apache.camel". LOG.warn("Cannot put the message header key={}, value={} into Sqs MessageAttribute", entry.getKey(), entry.getValue()); See https://github.com/apache/camel/blob/master/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsProducer.java for more details. -- View this message in context: http://camel.465427.n5.nabble.com/CamelAwsSqsMessageAttributes-header-not-appearing-on-messages-in-AWS-SQS-Queue-Camel-2-15-2-tp5771992p5772059.html Sent from the Camel - Users mailing list archive at Nabble.com.