SOAP, originally an acronym for Simple Object Access protocol, is a protocol specification for exchanging structured information in the implementation of web services in computer networks. It uses XML Information Set for its message format, and relies on other application layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission. 
SOAP can form the foundation layer of a web services protocol stack, providing a basic messaging framework for web services. This XML-based protocol consists of three parts:

  • An envelope, which defines the message structure[1] and how to process it
  • A set of encoding rules for expressing instances of application-defined datatypes
  • A convention for representing procedure calls and responses


SOAP has three major characteristics:

  • Extensibility (security and WS-routing are among the extensions under development)
  • Neutrality (SOAP can operate over any transport protocol such as HTTP, SMTP, TCP, UDP, or JMS)
  • Independence (SOAP allows for any programming model)


As an example of what SOAP procedures can do, an application can send a SOAP message to a server that has web services enabled—such as a real-estate price database—with the parameters for a search. The server then returns an XML-formatted document with the resulting data, e.g., prices, location, features. Since the generated data comes in a standardized machine-parsable format, the requesting application can then integrate it directly. 
The SOAP architecture consists of several layers of specifications for:

  • Message format
  • Message Exchange Patterns (MEP)
  • Underlying transport protocol bindings
  • Message processing models
  • Protocol extensibility

Navigate here for an example SOAP file.


  • No labels