Hello,
You may want to try the publishAndWait. With this, you can publish a document and the service will wait for a reply. Please take care to properly specify the reply as if you don’t the initial service waits forever, so read “Building Integration Solutions Using Publication” for many of the details under Chapter 7. I would recommend that you have the toplevel service work at only being a wrapper service and to do the reply document. In that, if your inner service fails, you can send a reply of such an event and have it republish the initial document again. In fact, you can at that point switch from a publishAndWait to a deliverAndWait since you know exactly who you will later be talking to. So:
[publishAndWait] -> [serviceA]S [serviceB]F -> join [serviceReply]
-> [deliverAndWait] -> [serviceB]S -> [serviceRetryReply]
You will have an initial publishAndwait, list of services, a central reply service based on join, a deliverAndWait service for retry, the same list of services, a reply-retry service to make sure the direct calls went well. You can contain the retry of the deliverAndWait in a REPEAT step to manage that part.
Good day.
Yemi Bedu
#webMethods-Architecture#webMethods#Integration-Server-and-ESB#webMethods-General