>>>> 1-I am developing a system which scope is application. I would like to know, how SOAP works for different clients that are using (or trying to use) methods (SOAP RPC) concurrently. Can two differents clients use methods of the service object at the same time? If so, I would like to know what happen to an object inside the service object, that is being used by differents clientes at the same time. What happen to an object X if a client A delete it whereas other client B is using it? Is the object X remains live until B finish the current invocation? Where can I find that information? Is there a way to lock the objects or something like that? <<<<
When you choose application scope, a single instance of your service class will handle all requests. The requests are not serialized in any way. As such, your class is responsible for using Java synchronization where necessary. >>>> 2-Can I throw an Exception from the server side, and catch it (the same Exception) in the client side? i.e: I throw an XXXException from the server side (maybe in a SOAPException), and get the fault in the client side, could I take from this fault an object from the original Exception class? (the XXXException in this case). Would I have to use org.apache.soap.server.ExceptionFaultListner? <<<< Any exception you throw from your service will ultimately appear to the client as a SOAP Fault. An ExceptionFaultListener on the server would place information about the Exception subclass and stack trace in the SOAP Fault. That can be accessed from the Fault on the client. If ExceptionFaultListener does not put all the information in the Fault that you want, you would need to write your own SOAPFaultListener subclass to do so. Scott Nichol