is there a way to call two Web services asynchronous (in par

Hello,

does anyone know if there’s a way to call two (or more) Web Services parallel?

The background is that we have two backend systems that provide webservices and there is a service that should call them at the same time in order to safe time compared to two serial calls.

thanks a lot!
Marco

p.s. We use Integration Server 6.0.1

Marco,

The best way to achieve this is using the Broker to achieve the asynchronous behaviour. You have two options for doing this:

  1. With Modeler
    Create a process model that splits from a start step to two parallel next steps and then joins together after that. Make the web service calls in these two parallel steps. (Underwater, this mechanism uses the Broker to achieve the parallelism without you having to worry about it).

  2. Without Modeler
    From the start of your process, publish a Broker document with the data necessary for the two web service calls. Create two triggers that subscribe to this document and each invoke the web service call. When the web service call is complete, each of the two services publishes another document and you have a third trigger which waits for both of these before doing its work (assuming you need final actions when both web services have completed). More details on this type of thing in the PubSub development guide.

There is another option, namely to spawn threads within IS using doThreadedInvoke, but it will required some Java programming. Check the IS Java API docs for details.

Hope this helps.

Jonathan Heywood
webMethods Professional Services

Thanks very much Jonathan

we’ll try to implement it this way.
regards Marco