Please try java service below for async multiple services invocation.
'
public static final void invokeServices(IData pipeline) throws ServiceException {
IDataCursor inputCursor = pipeline.getCursor();
IData[] services = IDataUtil.getIDataArray(inputCursor, "services");
inputCursor.destroy();
int size = services.length;
ServiceThread [] threads = new ServiceThread[size];
IData [] outputs = new IData[size];
for (int i = 0; i < size; i++){
IData service = services[i];
IDataCursor serviceCursor = service.getCursor();
String serviceName = IDataUtil.getString(serviceCursor, "serviceName");
IData servicePipe = IDataUtil.getIData(serviceCursor, "servicePipe");
threads[i] = Service.doThreadInvoke(NSName.create(serviceName), servicePipe);
serviceCursor.destroy();
}
for (int i = 0; i < services.length; i++){
try {
outputs[i] = threads[i].getIData();
} catch (Exception e) {
e.printStackTrace();
}
}
IDataCursor outputCursor = pipeline.getCursor();
IDataUtil.put(outputCursor, "outputs", outputs);
outputCursor.destroy();
}
Inputs:
services - Document List
?serviceName - String
?servicePipe - Document
Outputs:
outputs - Document List
#Flow-and-Java-services#Integration-Server-and-ESB#webMethods