SOAP is more than a protocol. There are SOAP servers, which u can install to co-exist with most of the available servlet-engines and application servers. I have used Apache SOAP and did some apps on that. It is fine. If u know to do
Ejb, then SOAP will be pretty simple. Dont confuse SOAP and xml. SOAP internally uses XML to represent and serialize data.
One major advantage of SOAP servers are that they have Serializing mechanisms for your custom objects. Even you can define your own serializing Mechanism.
The logic for conection and transactions are managed inthe client. This makes a heavy client.
Try Apache SOAP. This is very simple and intuitive