As you said the best option would have been handling it at the source end.
Other option that i can think of.
May be redesign the same using NWBPM( if you've got process orchestration)
else. use sync/asyc bridge as explained in the below blog
1)Soap -> File(requestonewaybean & waitresponsebean) -> create the files in 'x' directory
2)File(archive) pick the files from location 'x' (notifyresponsebean) -> Soap
In the second iflow you can archive the files.
so create third iflow to pick the files from archive directory and send to ECC.
3)File(archived location -> IDOC
If you don't want pick those files from archive directory, then you can even create them via UDF in your first iflow.
---
In the existing setup they might be hitting the integration engine directly with QOS Best Effort.
When you go to single stack, they need to change the URL and if they don't need any response you can simply change the QOS to Exactly once in sender channel.
Most imp: please wait for other expert advises ![]()