| МодельTCP/IP (RFC 1122) |
|---|
| Прикладний рівень |
| Транспортний рівень |
| Мережевий рівень |
| Канальний рівень |
Цей шаблон: |
SOAP (англ.Simple Object Access Protocol) —протокол обміну структурованими повідомленнями в розподілених обчислювальних системах, базується на форматіXML.
Спочатку SOAP призначався, в основному, для реалізації віддаленого виклику процедур (RPC), а назва булаабревіатурою:Simple Object Access Protocol — простий протокол доступу до об'єктів. Зараз протокол використовується для обміну повідомленнями в форматіXML, а не тільки для виклику процедур.SOAP є розширенням мовиXML-RPC.
SOAP можна використовувати з будь-яким протоколом прикладного рівня:SMTP,FTP,HTTP та інші. Проте його взаємодія з кожним із цих протоколів має свої особливості, які потрібно відзначити окремо. Найчастіше SOAP використовується разом з HTTP.
SOAP є одним зі стандартів, на яких ґрунтується технологіявебсервісів.

Повідомлення SOAP структурується так:
SOAP-конверт
Приклад SOAP POST повідомлення:
POST/InStockHTTP/1.1Host:www.example.orgContent-Type:application/soap+xml;charset=utf-8Content-Length:299<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header></soap:Header><soap:Body><m:GetStockPricexmlns:m="http://www.example.org/stock"><m:StockName>IBM</m:StockName></m:GetStockPrice></soap:Body></soap:Envelope>
Приклад SOAP-запиту на сервер інтернет-магазину:
<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getProductDetailsxmlns="http://warehouse.example.com/ws"><productID>12345</productID></getProductDetails></soap:Body></soap:Envelope>
Приклад відповіді:
<soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getProductDetailsResponsexmlns="http://warehouse.example.com/ws"><getProductDetailsResult><productID>12345</productID><productName>Склянкаребриста</productName><description>Склянкаребриста.200мл.</description><price>9.95</price><inStock>true</inStock></getProductDetailsResult></getProductDetailsResponse></soap:Body></soap:Envelope>
Ця статтяпотребує додатковихпосилань на джерела для поліпшення їїперевірності. Будь ласка, допоможітьудосконалити цю статтю, додавши посилання нанадійні (авторитетні) джерела. Зверніться насторінку обговорення за поясненнями та допоможіть виправити недоліки. Матеріал без джерел може бутипіддано сумніву та вилучено.(січень 2016) |
![]() | Це незавершена стаття проІнтернет. Ви можетедопомогти проєкту,виправивши або дописавши її. |