🔖 SOAP API: подборка ключевых вопросов 🟡
Кроме REST API, полезно иметь представление и о SOAP API + его протоколах.
Несмотря на то, что это устаревающий способ интеграции, он всё ещё остаётся популярным в банках, корпоративных системах. Там, где важна структура данных и высокие требования к безопасности.
Ключевые вопросы:
1️⃣ Что такое SOAP?
SOAP (Simple Object Access Protocol) — это протокол прикладного уровня для обмена сообщениями между системами.
👉 Сообщение — это XML-конверт со строгой структурой:
▫️ <Envelope> — общий конверт,
▫️ <Header> — метаданные (безопасность, маршрутизация и т.п.),
▫️ <Body> — данные запроса/ответа,
▫️ <Fault> — описание ошибки.
Ключевые идеи:
✔️ Строгий контракт и валидация по схемам (XSD).
✔️ SOAP не задаёт, как устроен ваш сервис и его бизнес-логика, он лишь стандартизирует формат и способ передачи сообщений между системами.
2️⃣ Что такое SOAP API?
SOAP API — интерфейс, где все операции описаны контрактом WSDL (Web Services Description Language).
👉 WSDL 1.1 содержит:
▫️ types — XSD-схемы данных (общие типы).
▫️ message — абстрактные сообщения (вход/выход операций).
▫️ portType — абстрактный интерфейс: набор операций с их входами, выходами, обработкой ошибок.
▫️ binding — привязка portType к конкретному протоколу и формату (напр., SOAP 1.1/1.2 over HTTP)
▫️ service/port — сервис и его эндпоинты (адреса/URL) для вызова операций.
Плюс экосистема стандартов WS-* (WS-Security, WS-Addressing, WS-ReliableMessaging и др.) для безопасности, маршрутизации, гарантии доставки, транзакций.
P.S. в WSDL 2.0 термины немного другие — interface вместо portType, endpoint вместо port, и там нет message.
3️⃣ На каком протоколе работает SOAP API?
👉 HTTP — протокол прикладного уровня.
• В модели OSI — уровень 7 (Application Layer).
• В TCP/IP — тоже относится к Application.
👉 SOAP — протокол прикладного уровня, аналогично HTTP, но....
SOAP — это протокол обмена сообщениями (XML-конверт), который работает поверх транспорта — чаще HTTP/HTTPS, но может идти и по SMTP, JMS, TCP.
❗️ Сам SOAP определяет формат и правила сообщений, но не транспорт.
4️⃣ Тестирование SOAP API
🟡 SoapUI
🟠 Postman
🟣 Insomnia
и другие инструменты.
5️⃣ SOAP и REST — в чём разница?
👉 SOAP — протокол обмена сообщениями с контрактом WSDL и XML-валидацией (XSD).
👉 REST — архитектурный стиль проектирования веб-API: ресурсы по URL + стандартные HTTP-методы (GET/POST/PUT/PATCH/DELETE), чаще JSON, коды статуса HTTP, кеширование и пр.
Но при этом оба могут использовать HTTP в качестве транспорта.
6️⃣ Когда лучше SOAP, а когда REST?
SOAP, если:
✅ Нужен строгий контракт, типизация и валидация по XSD «из коробки».
✅ Требуются enterprise-требования из WS-*: подписи/шифрование (WS-Security), надежная доставка/идемпотентность, транзакции.
✅ Формат XML и согласованные схемы данных XSD — обязательное требование.
❌ Не используйте, если API планируют вызывать мобильные и веб приложения, он лучше для сервер-сервер интеграций.
REST, если:
✅ Веб/мобильная разработка, взаимодействие микросервисов.
✅ Нужна простота, скорость разработки, удобство фронтов (JSON), кеширование и стандарты HTTP.
✅ Нет строгих требований к WS-расширениям; безопасность решается за счёт OAuth2/JWT/TLS.
Это главные вопросы, которые надо понимать для работы, и которые обычно спрашивают по SOAP.
Сохраняйте в избранное 🔖
#ИнтеграцииGA #АрхитектураGA
Post #2861
5.71K
- ❤ 35
- 👍 7
- 🔥 4
- ❤🔥 1
- 🥰 1