БИБЛИОТЕКА НОРМАТИВНЫХ ДОКУМЕНТОВ

ГОСТ Р ИСО/МЭК 40220-2015. Национальный стандарт Российской Федерации. Информационные технологии. W3C SOAP. Версия 1.2. Часть 2. Дополнения (вторая редакция)

6.2. RPC и элемент Body SOAP

Как RPC вызовы (за исключением безопасных методов извлечения информации, см. 6.1.2), так и ответы содержат элемент SOAP Body [ИСО/МЭК 40210, подраздел 8.3], используемый для представлений, описанных ниже.

6.2.1. Вызов RPC

Вызов RPC моделируется следующим образом:

- вызов представляется единственной структурой, содержащей исходящее ребро для каждого входящего [in] или входящего/исходящего [in/out] параметра. Структура именуется идентично процедуре или методу. Для представления имен методов, которые не являются допустимыми XML именами, СЛЕДУЕТ использовать соглашения из приложения B;

- у каждого исходящего ребра есть метка, соответствующая имени параметра. Для представления имен параметров, которые не являются допустимыми XML именами, СЛЕДУЕТ использовать соглашения из приложения B.

Приложения МОГУТ обрабатывать вызовы с недостающими параметрами, но также МОГУТ не обрабатывать такие вызовы и возвращать отказы.

6.2.2. Ответ RPC

Ответ RPC моделируется следующим образом:

- ответ представляется единственной структурой, содержащей исходящее ребро для возвращаемого значения и по исходящему ребру для каждого исходящего [out] или входящего/исходящего [in/out] параметра. Имя структуры не имеет значения;

- каждый параметр представляется исходящим ребром с меткой, соответствующей имени параметра. Для представления названий параметров, которые не являются допустимыми XML именами, СЛЕДУЕТ использовать соглашения из приложения B;

- непустое возвращаемое значение представляется следующим образом:

1. ДОЛЖНО присутствовать исходящее ребро с локальным именем result и именем пространства имен "http://www.w3.org/2003/05/soap-rpc", заканчивающееся в конечном узле;

2. Тип конечного узла - xs:QName и его значение - имя исходящего ребра, которое заканчивается в фактическом возвращаемом значении;

- если возвращаемое значение процедуры пустое, то исходящее ребро с локальным именем result и именем пространства имен "http://www.w3.org/2003/05/soap-rpc" НЕ ДОЛЖНО присутствовать;

- отказы вызова обрабатываются согласно правилам, изложенным в 6.4. Если привязка протокола накладывает дополнительные правила для обработки отказа, то они также ДОЛЖНЫ быть выполнены.

6.2.3. Ограничение на кодирование SOAP

При использовании кодирования SOAP (см. раздел 5) в сочетании с соглашением RPC, описанным здесь, элемент Body SOAP ДОЛЖЕН содержать единственный дочерний информационный объект-элемент, который представляет собой сериализованную структуру вызова или ответа RPC.