Найти тему
Легко в’IT

SOAP: Еще один способ обмена данными

Про модерновые технологии поговорили, теперь давай про те, что дошли до нас от царя Гороха. Это SOAP, расшифровывается как Simple Object Access Protocol. Кстати, его часто сравнивают с REST. На мой взгляд, это некорректно. По тому что REST - это архитектурный подход, а SOAP - это формат передачи данных с использованием XML. Поэтому это сравнение с родни сравнению машины и колеса от телеги. Правильнее сравнивать с JSON’ом.

SOAP стоял у истоков понимания разработчиков о том, что надо дробить монструозные корпоративные системы, которые в едином лице отвечали за все и сразу.

Выглядит запрос в 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>
<getProductCatalog xmlns="<http://office-mebel.ru/ws>">
<limit>100</limit>
</getProductDetails>
</soap:Body>
</soap:Envelope>

Здесь в первой строчке идет стандартная служебная информация о версии XML и кодировке, следующая строчка - тоже служебная, в ней представлен XSD формат документа (как помнишь, это еще один XML документ, который позволяет валидировать пришедший запрос SOAP). А вот внутри тега “soap:Body” уже идет интереснее: тут идет вызов процедуры, которая нам нужна от сервера (получение продуктового каталога офисной мебели) с одним параметром, например, ограничение по количеству записей в 100 штук. Это та, часть которая является изменяемой.

Вот и все, что надо обязательно знать про SOAP, в остальном - разберешься, если вдруг придется столкнуться.

#SOAP #API #XML