diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSLambdaUtils.java b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSLambdaUtils.java index 62eb968e1..8ceb4e300 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSLambdaUtils.java +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/AWSLambdaUtils.java @@ -156,7 +156,6 @@ public final class AWSLambdaUtils { } result.add(value); } - if (result.size() > 1) { output = result; } @@ -166,17 +165,15 @@ public final class AWSLambdaUtils { else { output = null; } - if (output != null && output instanceof Message) { - if (output instanceof Message) { - responseMessage = (Message) output; - } - else { - if (logger.isDebugEnabled()) { - logger.debug("OUTPUT: " + output + " - " + output.getClass().getName()); - } - byte[] payload = objectMapper.toJson(output); - responseMessage = MessageBuilder.withPayload(payload).build(); + if (output instanceof Message && ((Message) output).getPayload() instanceof byte[]) { + responseMessage = (Message) output; + } + else if (output != null) { + if (logger.isDebugEnabled()) { + logger.debug("OUTPUT: " + output + " - " + output.getClass().getName()); } + byte[] payload = objectMapper.toJson(output); + responseMessage = MessageBuilder.withPayload(payload).build(); } } else {