ГОСТ Р ИСО/МЭК 40210—2014
5.3 Предназначение блоков заголовка SOAP
Блок заголовка SOAP МОЖЕТ нести в себе информационный объект-атрибут role (см. пункт 8.2.2),
который используется для указания того, что блок заголовка предназначен для узлов SOAP, действую
щих в указанной роли. Данная спецификация рассматривает значение информационного объекта-атри
бута role SOAP как роль SOAP для соответствующего блока заголовка SOAP.
Считается, что блок заголовка SOAP предназначен для узла SOAP, если роль SOAP в блоке заго
ловка совпадает с именем роли, в которой действует узел SOAP. Блоки заголовка SOAP, предназначен
ные для специальной роли «
http://www.w3.org/2003/05/soap-envelope/roJe/none».
формально никогда не
обрабатываются. Такие блоки заголовка SOAP МОГУТ нести данные, которые необходимы для обработ ки
других блоков заголовка SOAP. Если они не удалены в процессе обработки посредниками (см. пункт 5.7), то
такие блоки передаются вместе с сообщением к конечному получателю (см. также пункт 6.3).
5.4 Понимание блоков заголовка SOAP
Вероятно, со временем будут разработаны спецификации разнообразных функций заголовка
(т.е., модулей SOAP) (см. пункт 6.3), и на отдельных узлах SOAP может быть установлено программное
обеспечение, необходимое для реализации одного или более таких возможных расширений.
Считает ся. что блок заголовка SOAP понятен узлу SOAP, если программное обеспечение на этом
узле SOAP разработано таким образом, чтобы полностью соответствовать и реализовать семантику,
заданную раз вернутым именем XML самого внешнего информационного объекта-элемента данного
блока заголовка.
Блок заголовка SOAP МОЖЕТ содержать информационный объект-атрибут mustllnderstand
(см. пункт 8.2.3). Считается, что блок заголовка SOAP обязателен в том случае, если значение этого
информационного объекта-атрибута равно «true».
Предполагается, что обязательные блоки заголовка SOAP так или иначе изменяют семантику дру
гих блоков заголовка SOAP или элементов тела SOAP. Поэтому каждый обязательный блок заголовка
SOAP, предназначенный для определенного узла, этот узел ДОЛЖЕН либо обработать, либо отказать
ся от обработки сообщения SOAP вообще и вместо обработки сгенерировать отказ (см. пункт 5.6
и пункт 8.4). Пометка блока заголовка SOAP как «обязательный» таким образом гарантирует, что
подоб ные изменения не будут (очевидно, ошибочно) проигнорированы без каких-либо сообщений
узлом SOAP, для которого предназначен блок заголовка.
Информационный объект-атрибут mustUnderstand не предназначен служить механизмом обнару
жения ошибок маршрутизации, ошибочной идентификации узлов, отказа узла действовать в назначен
ной роли или ролях и т.д. Любая из этих ситуаций может привести к отказу даже от попытки обработки
данного блока заголовка SOAP конверта SOAP. Поэтому настоящая спецификация не требует, чтобы
любой отказ был сгенерирован на основе присутствия или значения информационного объекта атри
бута mustUnderstand в блоке заголовка SOAP, не предназначенном для обработки в текущем узле. В
частности, для конечного получателя SOAP получение сообщения, содержащего обязательный блок
заголовка SOAP, который предназначен для роли, не выполняемой конечным получателем SOAP, не яв
ляется ошибкой. Подобное возможно, например, в случае, если блок заголовка SOAP остался в резуль
тате ошибки в маршрутизации или ошибки назначения блока на одном из предыдущих посредников.
5.5 Структура и интерпретация тела SOAP
Конечный получатель SOAP ДОЛЖЕН правильно обработать непосредственные дочерние эле
менты тела SOAP (см. пункт 8.3). Однако, за исключением отказов SOAP (см. пункт 8.4), Часть 1данной
спецификации (настоящий документ) не налагает требований на определенную структуру или интер
претацию этих элементов, и не предоставляет никаких средств для определения технологии необходи
мой обработки.
5.6 Обработка сообщений SOAP
В данном разделе изложены правила, по которым обрабатываются сообщения SOAP.
В настоящей спецификации ничто не препятствует использованию методов, которые могли бы
обеспечить большую гибкость в порядке обработки, таких как оптимистичный параллелизм, откаты и
т.д. Если не указано иначе, обработка всех сгенерированных сообщений SOAP, отказов SOAP и побоч
ных эффектов уровня приложения ДОЛЖНА быть семантически эквивалентна выполнению по отдель
ности следующих шагов в указанном порядке.
7