diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index 3c76d0bcf..eb315cf4f 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -1343,6 +1343,12 @@ public class SimpleFunctionRegistry implements FunctionRegistry { if (collectionType == itemType) { return message.getPayload(); } + + if (collectionType != null + && FunctionTypeUtils.getRawType(itemType).isAssignableFrom(collectionType.getClass()) + && FunctionTypeUtils.isMessage(type)) { + return message; + } } Object convertedInput = message.getPayload();