Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 29361-2012 Информационная технология (ИТ). Интероперабельность сетевых услуг. Базовый профиль WS-1. Версия 1.1

     3.1 Оболочка SOAP


В настоящем разделе Профиля даны ссылки на следующие спецификации (или их разделы):

- SOAP 1.1, раздел 4.

SOAP 1.1 определяет структуру для составных сообщений, оболочки. В Профиле установлена обязательность использования этой структуры и следующие ограничения на ее использование:

3.1.1 Структура оболочки SOAP

R9980 ОБОЛОЧКА ДОЛЖНА соответствовать структуре, определенной в SOAP 1.1, раздел 4, "Оболочка SOAP" (вопрос для исправления Профилем).

R9981 ОБОЛОЧКА ДОЛЖНА иметь ровно один дочерний элемент элемента soap: Body или не иметь их совсем.

Хотя комбинация R2201 и R2210 (см. ниже) подразумевает, что у soap:Body может быть не более одного дочернего элемента, в Профиле нет явного требования, озвучивающего это ограничение, что приводит к некоторой путанице.

3.1.2 Пространство имен оболочки SOAP

В SOAP 1.1 установлено, что оболочку с элементом документа, пространство имен которого отлично от "http://schemas.xmlsoap.org/soap/envelope/", следует отбросить. Для обеспечения недвусмысленности операции в Профиле требуется, чтобы вместо этого был сгенерирован отказ.

R1015 ПОЛУЧАТЕЛЬ ДОЛЖЕН сгенерировать отказ, если ему встретилась оболочка, элемент документа которой не является soap:Envelope.

3.1.3 Квалификация пространства имен тела SOAP

Использование неквалифицированных имен элементов может вызвать конфликты имен, следовательно, для потомков soap:Body должны использоваться квалифицированные имена.

R1014 Потомки элемента soap:Body в ОБОЛОЧКЕ ДОЛЖНЫ быть квалифицированным пространством имен.

3.1.4 Запрещенные конструкции

ДТД (декларация типа документа) и ИО (инструкция обработки) XML при их использовании в оболочках могут приводить к уязвимостям безопасности, избыточной обработке и семантической двусмысленности. Поэтому некоторые конструкции XML запрещены разделом 3 SOAP 1.1.

Хотя опубликованная поправка NE05 (см. http://www.w3.org/XML/xml-names-19990114-errata) допускает появление декларации пространства имен xmlns:xml="http://www.w3.org/XML/1998/namespace", некоторые старые процессоры рассматривают такую декларацию как ошибку. Следующие требования обеспечивают, чтобы соответствующие артефакты имели наиболее широко возможную интероперабельность.

R1008 ОБОЛОЧКА НЕ ДОЛЖНА содержать декларацию типа документа. С

R1009 ОБОЛОЧКА НЕ ДОЛЖНА содержать инструкции обработки. С

R1033 ОБОЛОЧКЕ НЕ СЛЕДУЕТ содержать декларацию пространства имен xmlns:xml-"http://www.w3.org/XML/1998/namespace". С

R1034 ОПИСАНИЮ НЕ СЛЕДУЕТ содержать декларацию пространства имен xmlns:xml-"http://www.w3.org/XML/1998/namespace". С

3.1.5 Приложения SOAP

Интерпретация элементов одного уровня, следующих за элементом soap:Body не ясна. Следовательно, такие элементы запрещены.

R1011 ОБОЛОЧКА НЕ ДОЛЖНА иметь дочерних элементов soap:Envelope, следующих за элементом soap:Body

Настоящее требование уточняет расхождение между спецификацией SOAP 1.1 и Схемой XML SOAP 1.1.

Например,

НЕПРАВИЛЬНО: