Hello,
I have been struggling with an issue for almost 2 days so far.
I have an integration in a process that is triggered by a web API.
I am repeating this integration up to 5 times the response was not successful.
In the case where the response of the integration is successful in the first time, I am getting back the required response that is a json format that I am indexing from a process variable.
In the case where the integration is repeated twice or more, the response I am getting back is empty as if the process variable was returned as a null value.
The response i am indexing is the variable where I am saving the httpresponse from the integration.
So again, if integration goes through from the first time, the response is filled, if it goes through on the second time or more, the response is empty as if the web API only considered the first value saved in the variable where i am saving the httpresponse and it's not updating it; and when i check the process variables, i can see that the process variable is filled properly.
Any ideas or any suggestions on how to resolve this?
This is the response I am getting when the integration is happening twice or more:
{
}
when it's successful on the first trial, i am getting the below which is what we are expecting:
Discussion posts and replies are publicly visible
When you say "twice or more", how exactly are you running it multiple times? Via MNI? Just manually running with multiple nodes one after the other?
here you go
A timer event will always break the chaining.
Thanks Stefan. Is there an alternative for the timer event?
I did not really understand what you want to achieve. Is this an unreliable system you integrate with?
Not quite sure what the issue may be but what could help to troubleshoot would be to create a PV lists for each of the return values and add custom outputs where you add it to the list - it would allow you to see what's returned on subsequent calls.
A couple of other notes:
It is.
I am triggering this process from a Web API and calling the integration to another system inside the process as you can see in the image
the process is called in a web API. and the response of the web API needs to display the response of the integration shown in the image, hence the activity chaining.
i tried the the scheduling for the node, but it is also breaking the chaining
OK. Any kind of timer or scheduling will break the chaining.
I understand that you want to implement some error handling in that process model, but an Appian process is not Java and error handling on a low level like network timeouts etc. cannot be handled.
There is a reason for process alerts. If it is critical, that the integration call succeeds, then call the error() function in the integration node's output configuration in case the result is not valid. Then the process will stop and an admin needs to check.
In case a successful call is not important, return a 503 HTTP code.
Only solutions I can see working is implementing the retry logic directly in the calling application (as Stefan suggested above). You could also have one process manage the initial API call (and subsequent error retries) and provide a separate API endpoint to allow them to poll for a response or have your process call a webhook in the calling application once it has received a successful response.