Think of a SOAP message like an envelope. Inside the envelope, you can put a letter.
- The letter is the application data.
- The SOAP message, the envelope, is what wrapps the letter while it travels from the sender to the receiver.
Actually, a SOAP message is slightly more complex than an envelope , so you put the letter in the body of a SOAP message.
The reason for having a SOAP message is very similar to the reason for having envelopes. The postman knows where on the envelope to look for the address to deliver the letter to, where a stamp should be placed and where to look for the return address, if needed. In a similar fashion, web service servers, clients and intermediary nodes knows how to handle a SOAP message. Like the postman, they do not need to know, or care about, what is inside the letter.
There are also SOAP headers, but let's ignore them for now, in order not to confuse you.
As Ivan said, the SOAP header is a very important aspect of it as numerous header extensions were (and are) being developed for message level security, such as
authentication. The SOAP Fault element is important and the mysterious actor attribute is present as well .
Please keep in mind that since SOAP is so generic, multiple profiles were developed to restrict its usage. The WS-I Basic Profile is probably the most known one.
William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.