SOAP (Simple Object Access Protocol) By - TechTarget
Maybe your like
- Home
- API design and management
By - Alexander S. Gillis, Technical Writer and Editor
What is SOAP (Simple Object Access Protocol)?
SOAP (Simple Object Access Protocol) is a message protocol that enables the distributed elements of an application to communicate. SOAP can be carried over a variety of standard protocols, including the web-related Hypertext Transfer Protocol (HTTP).
SOAP was developed as an intermediate language for applications that have different programming languages, enabling these applications to communicate with each other over the internet. SOAP is flexible and independent, which enables developers to write SOAP application programming interfaces (APIs) in different languages while also adding features and functionality.
SOAP is a lightweight protocol used to create web APIs, usually with Extensible Markup Language (XML). It supports a wide range of communication protocols across the internet, HTTP, Simple Mail Transfer Protocol (SMTP) and Transmission Control Protocol. The SOAP approach defines how a SOAP message is processed, the features and modules included, the communication protocols supported and the construction of SOAP messages. SOAP uses the XML Information Set as a message format and relies on application layer protocols, like HTTP, for message transmission and negotiation.
SOAP building blocks and message structure example
Simple Object Access Protocol, as a specification, defines SOAP messages that are sent to web services and client applications. SOAP messages are XML documents that are comprised of the following three basic building blocks:
- The SOAP Envelope encapsulates all the data in a message and identifies the XML document as a SOAP message.
- The Header element contains additional information about the SOAP message. This information could be authentication credentials, for example, which are used by the calling application.
- The Body element includes the details of the actual message that need to be sent from the web service to the calling application. This data includes call and response information.
The fault message is an optional fourth building block. If a SOAP fault is generated, it is returned as an HTTP 500 error. Fault messages contain a fault code, string, actor and detail.
How does SOAP work?
SOAP requests are easy to generate and process responses. First, a request for a service is generated by a client using an XML document. Next, a SOAP client sends the XML document to a SOAP server. When the server receives the SOAP message, it sends the message as a service invocation to the requested server-side application. A response containing the requested parameters, return values and data for the client is returned first to the SOAP request handler and then to the requesting client. Both SOAP requests and responses are transported using Hypertext Transfer Protocol Secure (HTTPS) or a similar protocol like HTTP.
SOAP advantages and disadvantages
SOAP is an integral part of the service-oriented architecture (SOA) and the web services specifications.
Advantages of SOAP include the following:
- Platform- and operating system-independent. SOAP can be carried over a variety of protocols, enabling communication between applications with different programming languages on both Windows and Linux.
- Works on the HTTP protocol. Even though SOAP works with many different protocols, HTTP is the default protocol used by web applications.
- Can be transmitted through different network and security devices. SOAP can be easily passed through firewalls, where other protocols might require a special accommodation.
Disadvantages, however, include the following:
- No provision for passing data by reference. This can cause synchronization issues if multiple copies of the same object are passed simultaneously.
- Speed. The data structure of SOAP is based on XML. XML is largely human-readable, which makes it fairly easy to understand a SOAP message. However, that also makes the messages relatively large compared to the Common Object Request Broker Architecture (CORBA) and its remote procedure call (RPC) protocol that will accommodate binary data. Because of this, CORBA and RPC are faster.
- Not as flexible as other methods. Although SOAP is flexible, newer methods, such as RESTful architecture, use XML, JavaScript Object Notation, YAML or any parser needed, which makes them more flexible than SOAP.
SOAP APIs
SOAP is a protocol that is almost always used in the context of a web services or SOA framework. As such, its API is typically hidden by the higher-level interface for SOA. SOA API middleware tools are available for nearly all modern programming languages, and Microsoft offers a variety of .NET SOAP and SOA tools.
SOAP vs. REST
SOAP is designed to break traditional monolithic applications down into a multicomponent, distributed form without losing security and control. In contrast, REpresentational State Transfer (REST) is a model of distributed computing interaction based on the HTTP protocol and the way that web servers support clients. REST over HTTP is almost always the basis for modern microservices development and communications. RESTful APIs use HTTP requests to GET, PUT, POST and DELETE data.
REST over HTTP is simple, flexible, lightweight and offers little beyond a way of exchanging information. SOAP can ride on HTTP as well, but it connects the elements of a complex set of distributed computing tools -- the web services and SOA framework -- as well as application components, and this forms a part of a total service-oriented framework.
Future of Simple Object Access Protocol
SOAP was the first widely used protocol for connecting web services in a service-oriented architecture. Today, modern development of distributed applications is largely based on RESTful principles. SOAP is almost always confined to legacy platforms. One area where SOAP is still in use is in applications that handle online transactions, as it's a style of API that is more rigid and protocol-driven.
Learn more about 10 API security guidelines, as well as how to choose between SOAP and REST here.
Continue Reading About SOAP (Simple Object Access Protocol)
- Guide to building an enterprise API strategy
- The 6 non-negotiable REST architecture constraints
- The 5 essential HTTP methods in RESTful API development
- What are the types of APIs and their differences?
- What's the difference between API and web services testing?
Related Terms
What is a REST API? Benefits, Uses, Examples A REST API is an architectural style for an application programming interface that uses Hypertext Transfer Protocol (HTTP) ... See complete definition What is mobile application development? Mobile application development is the set of processes and procedures involved in writing software for small, wireless computing ... See complete definition What is real user monitoring (RUM)? Real user monitoring (RUM) is a type of performance monitoring that records user interactions with a website or application. See complete definitionDig Deeper on API design and management
-
What is a REST API? Benefits, Uses, Examples
By: Scott Robinson -
What is SAML (Security Assertion Markup Language)?
By: Kinza Yasar -
What are the types of APIs and their differences?
By: Stephen Bigelow -
What is REpresentational State Transfer (REST)
By: Rahul Awati
- Is Your EHR the Problem? –Greenway Health
- Using Member Engagement to Balance Personalization, Participation –Zelis Healthcare
- See More
- Cloud Application Integration –Informatica
- API Security Fundamentals –Akamai
- Software Quality
- Cloud Computing
- Java
- AWS AI IDE, AgentCore throw down gauntlets for Microsoft
Kiro emerges as a significant alternative to GitHub Copilot agents, while AWS AgentCore updates square off against Agent 365 in ...
- AWS launches frontier agents
The new agents are autonomous, capable of performing multiple tasks simultaneously, and can complete their work with minimal ...
- The complete guide to QA team roles and responsibilities
QA teams play an important role in ensuring quality and performance. To be as effective as possible, organizations need to be ...
- Nutanix sovereign cloud hits Broadcom with multi-cloud hook
Nutanix expands its differentiation from Broadcom with a distributed sovereign cloud approach that supports both self-managed and...
- Plan for repatriation on day one with a hybrid cloud strategy
In the next 2 years, 87% of orgs plan to repatriate workloads off public cloud. Discover how an exit strategy, paired with hybrid...
- AWS CloudOps hones multi-cloud support for AI, resilience
Network, observability and Kubernetes management news at re:Invent aligned around themes of multi-cloud scale and resilience amid...
- Developers and vibe coding: 4 survival tips in the AI age
Programmers can stay a step ahead of AI agents and vibe coding by focusing on four areas: precise AI prompts, a broad ...
- Vibe coding tutorial with Replit and GitHub Copilot
Vibe coding, or using AI agents to create application code, is all the rage today. This video tutorial shows how it works using ...
- Product backlog vs. sprint backlog: What's the difference?
The sprint backlog and product backlog are important elements of Scrum and essential to iterative and incremental development. ...
Tag » What Does Soap Stand For
-
SOAP Notes - Healthcare Writing - Purdue OWL
-
SOAP Notes - StatPearls - NCBI Bookshelf
-
Best Practices: The Anatomy Of A SOAP Note - CHP Group
-
What Does SOAP Stand For?
-
SOAP - What Does SOAP Stand For? The Free Dictionary
-
SOAP - Definition By AcronymFinder
-
What Does The Acronym “SOAP” Stand For? - NRMP
-
SOAP Meanings | What Does SOAP Stand For? - All Acronyms
-
SOAP Note - Wikipedia
-
SOAP - Definition By AcronymAttic
-
Chiropractic SOAP Notes | What Does SOAP Stand For? - ChiroTouch
-
What Is An API, REST, SOAP, XML, JSON, WSDL And Other ...
-
What Does The Acronym SOAP Stand For In Nursing? - Quora