jamesnetherton edited a comment on issue #1983: URL: https://github.com/apache/camel-quarkus/issues/1983#issuecomment-721794741
I think I see the issue. It's not really specific to camel-quarkus, it depends on which camel HTTP consumer you choose to use. They each set different types as the message body for the incoming HTTP payload: * `netty-http` = `InputStream` * `jetty` = `InputStream` * `undertow` = `byte[]` * `platform-http` = `byte[]` `ProtobufDataFormat` can deal with `InputStream` but not `byte[]`. So for your example to work, you'd need something like: ``` from("platform-http:/transfer?httpMethodRestrict=POST&consumes=application/json").streamCaching() .convertBodyTo(InputStream.class) .setHeader("receiverid", jsonpath("$.receiverid")) .setHeader("sender", jsonpath("$.sender.userid")) .marshal().protobuf("demo.camel.TransactionProtos$Transaction") .toD("kafka:webtrans?brokers=localhost:9092&groupId=producergroup&serializerClass=org.apache.kafka.common.serialization.ByteBufferSerializer&key=${header.sender}"); ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org