I have not worked a lot with synchronous calls and modules. So I had to learn a bit about it.
In July I launched the SAP PIArchiving solution, to make it easier to archive messages in the adapter framework. It could be EDIFact or XML messages that you want to find easily and store safely.
One question I was asked was how the system worked with synchronous calls for instance for a web service. I guess that the adapter would figure it out and it was possible to make it work.
Now I finally had time to test how to put the adapter modules on a SOAP adapter, to archive the messages for both ways. It proved really easy. The only change was that the adapter module should be placed before and after the SAP standard module.
The processing sequence should just look like this.
The modules can be configured independent of each other using the module key.
What seems to happen when this occurs is that the two messages are being processed.
When looking at the processing logs it is possible to see the connection. In the adapter communication logs the following information exists. There is a link to the continuing processing of a message as well as continuing from this guid. It is thereby possible to find the corresponding message.
What I like about this is how the framework works, is that the modules do need to know anything that it is a synchronous message. My archiving modules still works, which is just really nice.