YOu do have a couple of options:
1. Change the grouping to blank or all and then add a mapping and use a for loop and that would use the qie.spawnNewMessage for each row. Once they are all spawned then call the web service. We may need to check that there are no messages processing before the call as well.
2. Change the grouping to blank similar to number one but instead of a spawn new message move the logic from all your nodes into that script and when it is completed then call the webservice.
3. We can change the source node to be a custom script where we pick up the file. We then do a for loop and on the last record when we do the qie.addInboundMessage we put "lastRow" or something like that in the file name field. In the script, we can check for that and if that is in the file name call the web service.
We are happy to help with the implementation of any of these options as well. Just email support@qvera.com for assistance.