ГОСТ Р ИСО/МЭК 40210—2014
«env:Sender«. в том случав, если некоторые блоки заголовка SOAP случайно остались после прохождения некото
рой намеченной точки в пути следования сообщения. Такие расширения при определении, произошла ли ошибка,
могут зависеть от присутствия или значения информационного объекта атрибута mustUnderstand в оставшихся
случайно блоках заголовка SOAP.
5.7 Пересылка сообщений SOAP
Как отмечалось ранее в этом разделе, предполагается, что сообщение SOAP создается в началь
ном отправителе SOAP и отправлено конечному получателю SOAP через ноль или более посредников
SOAP. Хотя SOAP сам по себе не определяет маршрутизацию или семантику пересылки, можно
ожи дать, что такая функциональность может быть определена как одна или более функций
расширения SOAP (см. раздел 6). Цельданного раздела заключается в описании взаимодействия
передачи сообще ния с моделью распределенной разработки SOAP.
SOAP определяет два различных типов посредников: пересылающих посредников и активных по
средников. Оба типа посредников описаны в этом разделе.
5.7.1 Пересылка блоков заголовка SOAP
Пересылка блоков заголовка SOAP с узла-посредника SOAP зависит от того, обработаны ли эти
блоки заголовка данным узлом SOAP или нет. Блок заголовка SOAP вставляется повторно, если при
обработке этого блока заголовка определяется, что блок заголовка должен быть повторно вставлен в
передаваемое сообщение. Спецификация блока заголовка SOAP может потребовать пересылки блока
заголовка в передаваемом сообщении в том случае, если блок заголовка нацелен на роль, в которой
действует посредник SOAP, но не в случае обработки данным посредником. Такие блоки заголовка на
зываются «пересылаемыми» (relayable).
Блок заголовка SOAP МОЖЕТ нести в себе информационный объект-атрибут relay (см. пункт
8.2.4). В случае, если значение такого информационного объекта атрибута «истинно», блок заголовка
является пересылаемым (relayable). Передача пересылаемых (relayable) блоков заголовка описана в
пункте 5.7.2.
Информационный объект-атрибут relay не влияет на блоки заголовка SOAP, предназначенные
для роли отличной от роли, в которой действует посредник SOAP.
Информационный объект-атрибут relay не влияет на модель обработки SOAP в случае, если блок
заголовка также содержит информационный объект-атрибута mustUnderstand со значением «true».
Информационный объект-атрибут relay не влияет на обработку сообщений SOAP конечным полу
чателем SOAP.
Таблица 3 суммирует возможные варианты пересылки некоторого блока заголовка узлом SOAP.
Каждая строка показывает, будет ли блок заголовка передан или удален в зависимости от значения
информационного атрибута role блока заголовка, действует ли узел SOAP в этой роли и был ли блок
заголовка понят и обработан.
Таблица 3 — Поведение узлов SOAP по пересылке
Р ол ьБ л о к за го л о в ка
К р а тко е н а зв а н и е
П р и н я то
П о н я то и о б р а б о та н о
П е р е д а н о
next
Да
Да
Нет, если не вставлено повторно
Нет
Нет, если relay = «true»
Определяемый пользователем
Да
Да
Нет, если не повторно вставлено
Нет
Нет, если relay = «true»
Нет
Не применимо
Да
ultimateReceiver
Да
Да
Не применимо
Нет
Не применимо
NoneНет
Не применимо
Да
9