Что такое SOAP

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

Ответ

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

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

  • Строгая типизация данных через WSDL (Web Services Description Language).
  • Поддержка сложных транзакций и безопасности (WS-Security).
  • Независимость от платформы и языка.

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header/>
  <soapenv:Body>
    <getUser xmlns="http://example.com/ws">
      <id>123</id>
    </getUser>
  </soapenv:Body>
</soapenv:Envelope>

Где применяется:

  • Корпоративные системы (банки, ERP).
  • Устаревшие интеграции (где REST не подходит).
  • Сценарии с требованием ACID-транзакций.