Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

SOAP

Матеріал з Вікіпедії — вільної енциклопедії.
Модель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-заголовок
Елемент заголовку 1
Елемент заголовку 2
Елемент заголовку N
Тіло SOAP
Елемент тіла 1
Елемент тіла 2
Елемент тіла N

Приклади

[ред. |ред. код]

Приклад 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>

Переваги

[ред. |ред. код]
  • SOAP є достатньо гнучким, що дозволяє використовувати різні транспортні протоколи. Стандартні реалізації використовують HTTP як транспортний протокол, однак також можливо використовуватиJMS чиSMTP.
  • Позаяк модель SOAP каналів(з'єднань) прекрасно працює в контексті моделі HTTP запитів-відповідей, то можливо легко встановлювати з'єднання на базі існуючих фаєрволів чи проксі-серверів без жодних модифікацій самого SOAP-протоколу.

Недоліки

[ред. |ред. код]
  • Застосування SOAP для передачі повідомлень збільшує їхній обсяг і зменшує швидкість обробки. У системах, де швидкість важлива, часто надсилають XML документи безпосередньо через HTTP як звичайні HTTP параметри або застосовують принципREST.
  • Попри те, що для SOAP є стандарт, різні програми часто генерують повідомлення в несумісному форматі. Наприклад, запит згенерованийApache Axis[en]-клієнтом, не завжди розпізнається серверомWebLogic.

Посилання

[ред. |ред. код]


Ця статтяпотребує додатковихпосилань на джерела для поліпшення їїперевірності. Будь ласка, допоможітьудосконалити цю статтю, додавши посилання нанадійні (авторитетні) джерела. Зверніться насторінку обговорення за поясненнями та допоможіть виправити недоліки.
Матеріал без джерел може бутипіддано сумніву та вилучено.
(січень 2016)
ІнтернетЦе незавершена стаття проІнтернет.
Ви можетедопомогти проєкту,виправивши або дописавши її.
Отримано зhttps://uk.wikipedia.org/w/index.php?title=SOAP&oldid=44537513
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp