To get through a huge number of SOAP requests without taking a super long time, your best bet is to fork your PHP script and set a limit to how many processes you spawn. Each fork will execute a single SOAP statement, wait for it, then die at the end. I wrote a script to do this a few years and wrote a tutorial/post on how it works and how to implement it. This particular example is how to work with the Sony Ericsson SMS Gateway (which uses SOAP) using the NuSOAP library. Hopefully this will get you straightened out quickly:
http://jservedio.com/article/3
PS: This was written several years ago so I may be using the regular MySQL library to connect to the database. If you have to connect to a database, make sure you are using PDO or mysqli - ESPECIALLY if you are getting any input for your queries from GET or POST.
Edited: In response to your comment that you don't need all this capability - you may consider creating your SOAP Request Headers and Body then sending it out to where you need using cURL. This will wait for the response (and even direct it to a variable if you need).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…