I am going to assume that in the case the web service provider that your Flow service is calling experiences a transient error, you desire to retry for a given amount of time. We do not want to retry for an indefinite amount of time. In addition, I will also assume that a user is not sitting in front of a monitor screen waiting for a response. In other words, this is not an interactive solution with a user sitting on the other end waiting for a response. This integration scenario is machine to machine.
If my assumptions are correct, then consider using a pub/sub integration pattern.
- Publish the message to a message queue (Broker).
- A Trigger service retrieves the message from Broker and attempts to submit it to the target Web Service.
In case of a transient failure calling the target web service, the trigger service and publishable document will handle the retry interval, sleep time, time-to-live and other stuff required to guarantee delivery of the message.