We have a secure flow and we are using a call secure data action block to call a create session data action. This data action is dually tested with postman and with data action's own test functionality.
But when we make a phone call to the flow and test it, the output variables have null value (tried to play the resultant variables in flow). We have checked the web services we are calling for
https and operating on 443.
From target web service logs we checked, it received correct inputs from architect and responded within a second with correct values (paymentId and sessionId).
Tried calling the same web service data action from a normal call flow and it did not work either. Result variables (paymentId and sessionId) are always null.
So far the only thing that stands out is that there appears to be a case mismatch between your success template returning "paymentID" while the output contract is expecting "paymentId" (Lower case d at the end).
One step that can help troubleshooting is to make the output contract properties required by adding something like
"required": [
"sessionId",
"paymentId"
],
like you have in your input contract.
It is really easy to confuse "My action didn't have an output validation failure" for "My action returned the values that I am expecting". We probably need to continue to refine our test UI to make this sort of situation obvious without having to set outputs as required.