Что такое SOAP API?

«Что такое SOAP API?» — вопрос из категории API тестирование, который задают на 29% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

Ключевые характеристики:

  • Протокол: Работает поверх HTTP, SMTP, TCP.
  • Формат данных: Только XML.
  • Интерфейс: Описывается строгим контрактом WSDL (Web Services Description Language).
  • Безопасность: Поддерживает семейство стандартов WS-* (WS-Security, WS-AtomicTransaction).

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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetWeatherRequest xmlns="http://example.com/weather">
      <City>London</City>
    </GetWeatherRequest>
  </soap:Body>
</soap:Envelope>

Основные аспекты тестирования SOAP:

  1. Валидация структуры: Проверка XML против XSD-схемы из WSDL.
  2. Тестирование операций: Вызов методов (operations), описанных в WSDL, с различными входными данными.
  3. Обработка ошибок: Проверка формата и содержания SOAP Fault.
  4. Инструменты: SoapUI, Postman (с raw XML), библиотеки вроде zeep для Python или JAX-WS для Java.