Что такое SOAP

«Что такое SOAP» — вопрос из категории API и интеграции, который задают на 40% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SOAP (Simple Object Access Protocol) — это протокол обмена структурированными сообщениями в распределённых системах, основанный на XML. Используется для взаимодействия между веб-сервисами, особенно в корпоративных средах.

Ключевые особенности:

  • Работает поверх HTTP, SMTP и других протоколов.
  • Поддерживает WS-* стандарты (безопасность, транзакции).
  • Жёсткая структура сообщений (Envelope, Header, Body, Fault).
  • Независим от языка и платформы.

Пример SOAP-запроса:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
    <!-- Опциональные метаданные -->
  </soap:Header>
  <soap:Body>
    <m:GetUserRequest xmlns:m="http://example.com/service">
      <m:UserId>123</m:UserId>
    </m:GetUserRequest>
  </soap:Body>
</soap:Envelope>

Недостатки:

  • Громоздкость XML.
  • Медленнее REST из-за парсинга.
  • Сложнее в настройке.

Используется в legacy-системах, банковских API и там, где критична стандартизация.