diff --git a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/AbstractJavaCallExecutor.java b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/AbstractJavaCallExecutor.java index 99e464d72..fe890139c 100644 --- a/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/AbstractJavaCallExecutor.java +++ b/experimental/lambda/src/main/java/io/serverlessworkflow/impl/executors/func/AbstractJavaCallExecutor.java @@ -38,10 +38,11 @@ protected AbstractJavaCallExecutor(Optional> inputClass) { @Override public CompletableFuture apply( WorkflowContext workflowContext, TaskContext taskContext, WorkflowModel input) { - Object result = callJavaFunction(workflowContext, taskContext, model2Input(input)); + Object result = + convertResponse(callJavaFunction(workflowContext, taskContext, model2Input(input))); WorkflowModelFactory modelFactory = workflowContext.definition().application().modelFactory(); return result instanceof CompletableFuture future - ? future.thenApply(v -> output2Model(modelFactory, input, v)) + ? future.thenApply(v -> output2Model(modelFactory, input, convertResponse(v))) : CompletableFuture.completedFuture(output2Model(modelFactory, input, result)); } @@ -60,6 +61,6 @@ protected Object convertResponse(Object obj) { protected WorkflowModel output2Model( WorkflowModelFactory modelFactory, WorkflowModel input, Object result) { - return modelFactory.fromAny(input, convertResponse(result)); + return modelFactory.fromAny(input, result); } }