SOAP is just a way to transfer information. Your server con not "auto-update" all clients when a new message arrives because the clients need to request the information from the server, not the other way around. I think the only way to do what you want is to either have the clients poll the server on a regualr basis, or to blur the line between client and server. The chat server would contain soap server code as well as soap client code. same goes for the chat clients. The server could then call an update method on the chat client (soap server) for each chat client connected. SOAP is not going to help you sort out what clients are connected though, as I said, it is just a way to transport information.