You say that Java is already being used on the server side, and you are locked into Java there (if I understand correctly).
In this case, I will first try to use any of the modern SOAP implementations for Java EE to implement the Java client-side prototype as a “proof of concept”. The reason for this tip is that it will give you hands-on experience using various options on the Java side (and in web services in general) to implement asynchronous processing.
Porting this proof of concept to Delphi would be the second step.
Also, after some research, I do not see any link to specific support for long polling using SOAP (via WS-Addressing or otherwise).
However, handling “asynchronous SOAP” is the usual way to handle long procedures since SOAP 1.2. It is supported, for example, in JBoss - ( Asynchronous Web Services with JBoss WS ).
Perhaps you can also consider a different architecture using a message broker. This is called SOAP on top of JMS. For Delphi, there are free and commercial clients that will allow you to receive a SOAP response from the JMS system.
source share