I’m trying to call Logic App stateful workflow from Stateless workflow, but it seems I don’t receive the body message;
To demonstrate the issue – The parent logic app workflow invokes two child workflows (both are identical workflows, only difference is: one of them stateless and the other one is stateful), interestingly I don’t receive output body from stateful workflow. Please refer the attached screenshots. Looking forward to get some suggestions to fix the issue.
Thanks,
Deepak Shaw.
0
- When you will invoke a stateful and stateless workflow from a stateless workflow then you will observe that the status code of both the invocations are 202 Accepted and 200 respectively. That’s why it doesn’t contain response body.
- But If you will invoke a stateful and stateless workflow from a stateful workflow then both returns 200 status code. So, you can use the stateful workflow to invoke both types of workflows if you wish to see the response body.
- I believe its an inbuild feature in the stateless workflow for stateful workflow.
- I have used a stateful parent workflow to invoke stateful and stateless workflows and got response body in both the cases.
3
This behaviour is in line with the documentation:
Parent workflow | Child workflow | Child behavior |
---|---|---|
Stateful | Stateful | Asynchronous polling pattern or synchronous (“fire and forget”) with “operationOptions”: “DisableAsyncPattern” setting |
Stateful | Stateless | Trigger and wait |
Stateless | Stateful | Synchronous pattern (“fire and forget”) |
Stateless | Stateless | Trigger and wait |
If you want your stateless workflow to wait and receive a response from the stateful workflow then instead of using the Invoke a workflow
action you should use the HTTP
action to send a request to the HTTP URL from your stateful workflow:
Then the HTTP response will contain a body.
4