Had today another discussion about the async properties of the rest protocol vs the sync properties of the soap protocol in http mode. This other person was convinced that rest was async and soap could only do sync. But that’s not true. They are both sync or async but that depends on how you design the flow through your application(s).
Maybe with an example I can make myself clearer: For creating an Order you need the Order to be created by a back-end system. And you know that the Order has been created if the back-end system returns to you with an Order.CREATED status.
There are two ways to create an Order and get the status CREATED. The first sync way is for the client to call the back-end system with the Order information and during this call the back-end system creates the Order and returns within the same call with the Order.status as being created.
The second async way is to call the back-end system with the Order information and in that same call you receive from the back-end system a Status of Order.RECEIVED. Later in time you get an answer back from the back-end system that the Order has been created.
Both ways can be done through REST or SOAP or whatever. The design made it sync or async. Not the protocol used.