SOAP is a protocol for invoking methods on servers and exchanging structured information. It uses XML and HTTP to define an envelope, encoding rules, and conventions to represent method calls and responses. SOAP allows applications to communicate over a variety of underlying protocols and platforms and is simple, extensible and independent of any programming model.