Before SOAP was introduced, distributed applications predominantly used Remote Procedure Calls, or RPCs, to communicate with each other. In an RPC transaction, method calls are used to invoke application services. However, distributed applications could not communicate over the Internet because HTTP, which is the dominant communication protocol of the Internet, does not support RPCs. This led to the development of SOAP.

SOAP is an XML-based protocol that is language- and platform-independent. SOAP, therefore, enables applications to exchange messages across distributed applications.