SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) — протокол обмена структурированными сообщениями.
SOAP, в отличие от REST является протоколом.
REST архитектурный подход(подробнее про REST - https://t.me/testorest/91)
Первоначально SOAP предназначался в основном для удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур.
SOAP является расширением протокола XML-RPC.
SOAP может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP, HTTPS и др.
Чаще всего SOAP используется поверх HTTP.
Пример SOAP запроса:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns: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>
<getProductDetails xmlns="http://warehouse.example.com/ws">
<productID>12345</productID>
</getProductDetails>
</soap:Body>
</soap:Envelope>
🔹Envelope — корневой элемент, который определяет сообщение и пространство имен, использованное в документе. 🔹Header — содержит атрибуты сообщения, например: информация о безопасности или о сетевой маршрутизации. 🔹Body — содержит сообщение, которым обмениваются приложения. 🔹Fault — необязательный элемент, который предоставляет информацию об ошибках, которые произошли при обработке сообщений.Минусы
Использование SOAP для передачи сообщений, увеличивает их объём и снижает скорость обработки.
В системах, где скорость важна, чаще используется пересылка XML-документов через HTTP напрямую, где параметры запроса передаются как обычные HTTP-параметры.
Плюсы
Так как это протокол - то все стандартизировано. Структура сообщения, схема данных(xsd). Для описания SOAP API используется WSDL.
WSDL (англ. Web Services Description Language) - язык описания веб-сервисов и доступа к ним, основанный на языке XML.
Тестировать SOAP API
Означает:
🔹отправлять запросы через Postman/SOAP UI (или другой инструмент);
🔹отправлять запросы через curl (то есть напрямую)
Тестирование SOAP API включает в себя:
1. Тестирование бизнес-логики
2. Проверка тела сообщения(валидация схемы)
В отличие от REST, не нужно думать про заголовки, потому что они стандартные.
Почитать подробнее про SOAP и его тестирование:
https://clck.ru/arbzo
#api #soap #testorest