The simple answer is that the standard protocols available in Delphi (and other tools) do not allow notifications in the reverse order. I reviewed this for a project where I wanted to use SOAP. They all assume that the client is requesting a server, the server is responding, and that it is.
For me, the solution was the RemObjects SDK. This allows you to send notifications to clients, and the notification can have any data that you like (like the client to the server). I myself use the SuperTCP connection, but it works with others. It may still offer a SOAP interface for clients who need to use it, but for where you control the client and server, it works very well.
source share