diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java index 7fc0420ef..cbec4d996 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java @@ -586,6 +586,9 @@ public class FunctionConfiguration { outputChannel.send(((Message) result)); } else if (StringUtils.hasText(outputChannelName)) { + if (!(result instanceof Message)) { + result = MessageBuilder.withPayload(result).copyHeadersIfAbsent(requestMessage.getHeaders()).build(); + } template.send(outputChannelName, (Message) result); } }