The scenario is:
I have a service which I want to deliver/publish a request, which multiple subscribers will respond to, one and only one of them will have the result I want which then I need to set as the output of the service. So a asynchronous deliverAndWait is the the approach to take I am reliably informed (Or so this Advantage SR (https://advantage.webmethods.com/advantage?targChanId=kb_home&oid=1612311309) tells me however it is a bit light on the details of actually making this happen. )
I have implemented the asynchronous deliverAndWait using the default IS client ID and all my triggers (3 at this time) pick up the document as I expect. Each of these triggers invokes a service that replies. My idea was to use a simple repeat in the deliver service containing a waitForReply to get each reply as the arrive until I find the successful one at which point I exit the loop.
However the behavior I see is the first reply comes back fine but if I call waitForReply again then I just get NULL and an exception 07-09-06 14:54:51:0647 [ISS.0098.0036E] webM IS RequestReplyHandler encountered Transport Exception: com.wm.app.b2b.server.dispatcher.exceptions.CommException: [ISS.0098.9010] No waiting thread for Document Id: 39. Requestor might have timed out.
It seems that once the first reply is received it drops the rest which is the behavior I am trying to avoid by using deliverAndWait over publishAndWait. Anyone have any ideas on how in this scenario I can receive multiple replies?
Thanks in advance,