SOAP

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску

SOAP (отангл. Simple Object Access Protocol — простой протокол доступа к объектам) —протокол обмена структурированными сообщениями враспределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в форматеXML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP[1].

SOAP является расширением протоколаXML-RPC.

SOAP может использоваться с любым протоколом прикладного уровня:SMTP,FTP,HTTP,HTTPS и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.

SOAP является одним из стандартов, на которых базируются технологиивеб-служб.

Содержание

Структура протокола

[править |править код]
Структура SOAP-сообщения

Сообщение SOAP выглядит так:

  • Envelope — корневой элемент, который определяет сообщение и пространство имен, использованное в документе.
  • Header — содержит атрибуты сообщения, например: информация о безопасности или о сетевой маршрутизации.
  • Body — содержит сообщение, которым обмениваются приложения.
  • Fault — необязательный элемент, который предоставляет информацию об ошибках, которые произошли при обработке сообщений.

Пример

[править |править код]

Пример SOAP-запроса на сервер интернет-магазина:

<?xml version="1.0" encoding="utf-8"?><soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getProductDetailsxmlns="http://warehouse.example.com/ws"><productID>12345</productID></getProductDetails></soap:Body></soap:Envelope>

Пример ответа:

<?xml version="1.0" encoding="utf-8"?><soap:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><getProductDetailsResponsexmlns="http://warehouse.example.com/ws"><getProductDetailsResult><productID>12345</productID><productName>Стаканграненый</productName><description>Стаканграненый.250мл.</description><price>9.95</price><currency><code>840</code><alpha3>USD</alpha3><sign>$</sign><name>USdollar</name><accuracy>2</accuracy></currency><inStock>true</inStock></getProductDetailsResult></getProductDetailsResponse></soap:Body></soap:Envelope>

Недостатки

[править |править код]
  • Использование SOAP для передачи сообщений увеличивает их объём и снижает скорость обработки. В системах, где скорость важна, чаще используется пересылка информации в менее многословных форматах, вплоть до бинарных, и зачастую по более быстрым базовым протоколам, напримерUDP.

См. также

[править |править код]

Примечания

[править |править код]
  1. Latest SOAP versions (англ.). Дата обращения: 19 июня 2005. Архивировано 15 апреля 2021 года.

Ссылки

[править |править код]
Перейти к шаблону «Стандарты W3C»
Продукты
и стандарты
Рекомендации
ООСО
Рабочие проекты
Руководства
Инициативы
Выведенные
из использования
Устаревшие
Организации
Рабочие группы
Группы сообщества и бизнеса
Закрывшиеся группы
ПО
Браузеры
Конференции
Источник —https://ru.wikipedia.org/w/index.php?title=SOAP&oldid=146172436
Категории: