There is no way to control the order in which applications in Tomcat get deployed.
I tried once.
(Correction, there wasn't when I tried a couple years ago).
One workaround might be to put a context listener in the apps that depend on the SOAP server app. Have it ping that app every
n seconds to see if it's running. Make the
servlets in the app unavailable until after the SOAP server proves that it's up and running.