SOAP - Simple Object Access Protocol ========================================= .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is SOAP?** SOAP (Simple Object Access Protocol) is a **protocol specification for exchanging structured information** in the implementation of web services. It uses **XML** to encode messages and typically runs over **HTTP or SMTP**. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is SOAP useful?** SOAP is useful for: - **Standardized communication** between systems regardless of platform or language. - **Enterprise-level applications** requiring strict message formats and strong error handling. - **Interoperability** with legacy systems and complex workflows. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** SOAP works by: - Sending **XML-formatted requests** from a client to a server. - The server processes the request, executes the operation, and returns a **structured XML response**. - It supports **WSDL (Web Services Description Language)** to describe the service interface. - SOAP can work over various transport protocols like HTTP, SMTP, TCP, or JMS. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is SOAP used?** SOAP is commonly used in: - **Enterprise applications** - **Financial and banking systems** - **Telecommunication platforms** - **Government and healthcare services** - Anywhere requiring **robust standards, strict contracts, and reliable delivery** .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** SOAP operates at the **Application Layer (Layer 7)** of the OSI model. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SOAP Windows specific?** No, SOAP is **not Windows specific**. While Microsoft’s .NET framework supports SOAP-based services, it is a **platform-independent** standard supported on many operating systems. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SOAP Linux specific?** No, SOAP is **not Linux specific**. It is supported across platforms and can be implemented using Java, Python, PHP, C#, and more on both Linux and non-Linux systems. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by SOAP?** SOAP is **transport-independent**, but most commonly uses **HTTP** and **HTTPS**. It can also be used with SMTP, FTP, JMS, or even raw TCP. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by SOAP?** SOAP services over HTTP typically use: - **Port 80** for HTTP - **Port 443** for HTTPS However, custom ports may also be used depending on server configuration. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is SOAP using Client server model?** Yes, SOAP uses a **client-server model**. The **client** sends a structured XML request to a **SOAP server**, which processes the request and returns a response. The interaction is governed by WSDL and SOAP specifications. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`SOAP Version&IEEE Details ` * :ref:`SOAP Basic Setup on Ubuntu using IPv4 ` * :ref:`SOAP Basic Setup on Ubuntu using IPv6 ` * :ref:`SOAP Protocol Packet Details ` * :ref:`SOAP Usecases ` * :ref:`SOAP Basic Features ` * :ref:`Reference links ` .. _SOAP_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _SOAP_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _SOAP_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _SOAP_step5: .. tab-set:: .. tab-item:: SOAP Version&RFC Details * rfc details .. _SOAP_step18: .. tab-set:: .. tab-item:: SOAP Basic Setup on Ubuntu using IPv4 * setup .. _SOAP_step19: .. tab-set:: .. tab-item:: SOAP Basic Setup on Ubuntu using IPv6 * setup .. _SOAP_step6: .. tab-set:: .. tab-item:: SOAP Protocol Packet Details * packet details .. _SOAP_step7: .. tab-set:: .. tab-item:: SOAP Usecases * usecases .. _SOAP_step8: .. tab-set:: .. tab-item:: SOAP Basic Features * features .. _SOAP_step17: .. tab-set:: .. tab-item:: Reference links * Reference links