So this is not really a SOAP problem. Your SOAP client is just like any other database query where the query may take a long time or never complete. The usual solution is to create a separate Runnable object with its own Thread to do the query while you respond to the servlet request with some appropriate "Working" message. A reference to the separate object can be held in the session - you must provide for releasing all the resources when the SOAP request terminates. Bill