Алексей Бойко
Веб-сервисы XML предлагают такой уровень совместимости
и взаимодействия в отношении операционных систем,
платформ и языков, который ранее был просто
недоступен.
Эндрю Троелсен (обладатель титула MVP (Most Valuable Professional
in Microsoft))
Если вы еще не работали с веб-сервисами XML, то наверняка слышали слово
«SOAP». Настало время разобраться с этими понятиями.
Intro
Если вас интересует Интернет или сети поменьше, скорее всего рано или поздно
вы столкнетесь с веб-сервисами XML. Веб-сервис XML – это не только веб-приложение,
способное выводить информацию в браузер. Скорее это технология удаленного
взаимодействия, позволяющая вызывать методы и свойства объекта в сети с помощью
стандартных HTTP-запросов.
На практике это означает, что клиенты такого
сервиса могут быть написаны на различных языках и для разных операционных
систем.
В качестве информационного «транспорта» между
сервисом и клиентом можно использовать HTTP-методы GET или POST.
А можно «наложить» поверх еще один протокол –
SOAP (Simple Object Access Protocol). Обычно так и поступают, так как в этом
случае возможна передача сложных типов (включая пользовательские). А
классические методы GET и POST поддерживают только перечни, простые массивы и строки.
Пример SOAP-взаимодействия
SOAP-сообщение – это XML-документ, помещенный в тело HTTP-запроса.
Листинг 1. Структура
SOAP-сообщения
<?xml version="1.0"
encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
xmlns:tem="http://site.ru/">
<soap:Header>
<!-- Необязательная
информация заголовков -->
</soap:Header>
<soap:Body>
<!-- Информация вызова
методов -->
</soap:Body>
</soap:Envelope>