Basics of SOAP - Simple Object Access Protocol

Last Updated : 1 Aug, 2026

SOAP (Simple Object Access Protocol) is an XML-based messaging protocol used to exchange structured information between client and server applications over a network. It is mainly used for web services and supports multiple transport protocols such as HTTP, HTTPS, SMTP, and TCP.

  • Provides built-in security using WS-Security.
  • Offers reliable messaging and transaction support.
  • Uses WSDL to describe web service operations.

SOAP Architecture

SOAP architecture defines how a client and a web service communicate using SOAP messages.

Main Components of SOAP Architecture

  • SOAP Client: Sends a SOAP request to the web service.
  • SOAP Message: The XML message that contains the request or response data.
  • SOAP Server / Web Service: Processes the request and sends back the response.
  • Transport Protocol: Carries the SOAP message between client and server, usually HTTP.

Working of SOAP Architecture

  • The client creates a SOAP request.
  • The request is sent to the server through a transport protocol such as HTTP.
  • The SOAP web service processes the request and performs the required action.
  • The server returns a SOAP response to the client.

Components of a SOAP Message

A SOAP message follows a standard XML structure to ensure consistent communication between applications.

  • SOAP Envelope: The root element that identifies the document as a SOAP message.
  • SOAP Header: An optional section that contains additional information such as authentication, security, routing, or transaction details.
  • SOAP Body: Contains the actual request or response data exchanged between the client and server.
  • SOAP Fault: An optional element that returns error information if request processing fails.

SOAP Request and Response Example

A SOAP request is sent by the client to invoke a web service operation, and the server returns the requested data in a SOAP response.

SOAP Request Example

XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <GetCustomerDetails>
         <CustomerID>1001</CustomerID>
      </GetCustomerDetails>
   </soap:Body>
</soap:Envelope>

SOAP Response Example

XML
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <GetCustomerDetailsResponse>
         <Customer>
            <CustomerID>1001</CustomerID>
            <Name>John Smith</Name>
            <Email>john@example.com</Email>
         </Customer>
      </GetCustomerDetailsResponse>
   </soap:Body>
</soap:Envelope>

Explanation

  • The Envelope identifies the document as a SOAP message.
  • The Body contains the operation and the data exchanged.
  • The client sends the CustomerID in the request.
  • The server returns the corresponding customer information in the response.

WSDL in SOAP

WSDL (Web Services Description Language) is an XML-based document that describes a SOAP web service. It acts as a contract between the service provider and the client by defining the available operations, message formats, communication protocol, and service endpoint.

Main Information Provided by WSDL

  • Service Name: Name of the SOAP web service.
  • Operations/Methods: Functions that the service can perform.
  • Input and Output Messages: Data sent in the request and returned in the response.
  • Protocol and Endpoint: Communication protocol and service URL used to access the service.

Example: If a SOAP web service provides a GetCustomerDetails operation, the WSDL document will define the request format, response format, and the endpoint URL needed to call that operation.

Advantages of SOAP

  • XML messages are large, resulting in higher bandwidth usage.
  • More complex to develop and maintain than REST APIs.
  • XML parsing increases processing time and can reduce performance.
  • Verbose message format makes debugging more difficult.
  • Less suitable for lightweight web and mobile applications.

Limitations of SOAP

  • XML messages are large, resulting in higher bandwidth usage.
  • More complex to develop and maintain than REST APIs.
  • XML parsing increases processing time and can reduce performance.
  • Verbose message format makes debugging more difficult.
  • Less suitable for lightweight web and mobile applications.

Common Applications of SOAP

SOAP is widely used in applications that require secure and reliable communication, including:

  • Banking and financial systems
  • Payment gateways
  • Enterprise Resource Planning (ERP) systems
  • Customer Relationship Management (CRM) systems

SOAP vs REST

SOAPREST
ProtocolArchitectural style
Uses XML onlySupports JSON, XML, and other formats
Built-in WS-Security supportTypically secured using HTTPS
Supports transactions and reliable messagingLightweight and faster
More complex and verboseSimpler and easier to implement
Best suited for enterprise systemsBest suited for web and mobile applications
Comment

Explore