SOAP Web Services

What is SOAP?

Derya Cortuk
Nov 4 · 3 min read

SOAP, means Simple Object Access Protocol, is an XML(Extensible Markup Language) based industry standard protocol for designing and developing web services. That is to say, SOAP is a definition of how web services talk to each other or talk to client applications that invoke them.

Advantages of SOAP

  • WSDL, stands for Web Service Description Language, provides contact and technical details of the web services for client applications without exposing the underlying implementation technologies.
  • SOAP is designed to be platform independent, and moreover SOAP protocol can work any programming language based applications on both platform Windows and Linux.
  • It works on the HTTP protocol, which is the default protocol used by all web applications.
  • Security is first class citizen, with built-in security features to protect messages from being corrupted.
  • And ACID-compliant Transactions.

Disadvantages of SOAP

  • Lacks Flexibility: Only XML can be used, JSON(JavaScript Object Notation) and other lightweight formats are not supported.
  • Resource consuming: A SOAP API requires a larger bandwidth on account of the larger size of an XML-file and a payload created by the massive structure of a message.
  • SOAP is based on the contract, so there is a tight coupling between client and server applications.

SOAP Message Structure

A SOAP message is an XML document that consists of four elements with specific functions for each one.

  • Envelope is the root element XML document representing the message. It defines the framework for how the message should be handled and by whom.
  • Header(optional) determines the specifics, extra requirements for the message, e.g. authentication.
  • Body includes the request or response.
  • Fault(optional) shows all data about any errors that could emerge throughout the API request and response.

WS-AtomicTransaction

ACID,stands for Atomicity, Consistency, Isolation, Durability ,is a set of properties of database transactions intended to guarantee validity even in the event of errors, failures etc. The ACID properties are designed as principles of transaction-oriented database recovery.

ACID compliance means that transactions meet the following requirements:

Atomicity : Multiple connected transactions either work as a single unit or don’t work at all.

Consistency : This ensures that you guarantee that all data will be consistent.

Isolation : Transactions are independent of each other.

Durability : Once a transaction is committed, it will remain in the system, even if there’s a system crash immediately following the transaction.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade