ГОСТ Р ИСО/МЭК 40210—2014
Структура привязки не обеспечивает каких-либо средств для наименования или утилизирования
информации, включающей в себя состояние в данном узле. Отдельная функция и спецификация при
вязки могут вводить собственные соглашения для спецификации состояние. Следует отметить, однако,
что согласованность между привязками и функциями расширения, вероятно, будет лучше в тех ситу
ациях. когда спецификации нескольких функций принимают непротиворечивые соглашения для пред
ставления состояния. Например, несколько функций могли бы воспользоваться согласованной спе
цификацией для учетных данных аутентификации, идентификатора транзакции и т.д. Привязка HTTP в
Части 2 SOAP 1.2 [Часть 2 SOAP] иллюстрирует одно из таких соглашений.
Как описано в разделе 8, каждое сообщение SOAP определено как инфо-набор XML. который
состоит из информационного объекта document с одним и только одним дочерним элементом — кон
вертом: информационным объектом элемента Envelope SOAP. Поэтому минимальная задача привязки
при передаче сообщения состоит в том, чтобы определить средства, которыми инфо-набор сообщения
SOAP передается и воссоздается привязкой на получающем узле SOAP, и определить, каким образом
осуществляется передача конверта с использованием функций нижележащего протокола.
В разделе 8 определено, что все конверты SOAP могут быть сериализованы с использованием
сериализации XML 1.0. Таким образом привязки МОГУТ в качестве представления для передачи (on the
wire) инфо-набора XML использовать XML 1.0 или более поздние версии. Однако структура при вязки
не требует, чтобы каждая привязка использовала бы сериализацию XML для передачи. Когда это
необходимо, могут использоваться сжатие, шифрование, фрагментированные представления и т.д. В
случае использования сериализации XML инфо-набора XML привязка МОЖЕТ потребовать использо
вания определенной кодировки символов или набора кодировок.
В случае использования сериализации XML для сериализации инфо-набора или делегирования
сериализации другим средствам (таким, как описание типа медиа) привязка должна перечислить ис
пользуемые версии XML. Для обеспечения функциональной совместимости список поддерживаемых
версий XML должен быть исчерпывающим.
Обработка сообщений в привязке МОЖЕТ обеспечить потоковую передачу. То есть узлы SOAP
МОГУТ начать обрабатывать полученное сообщение SOAP сразу же, как только доступна необходи
мая информация. Обработка SOAP определена в терминах инфо-наборов сообщения SOAP (см. раз
дел 8). Несмотря на то. что при потоковой передаче получатель SOAP принимает такие инфо-наборы
XML постепенно, результат обработки SOAP ДОЛЖЕН быть идентичным результату обработки в слу
чае. когда конверт SOAP полностью был доступен до начала обработки. Например, как предусмотре но
в пункте 5.6, идентификация предназначенных блоков заголовка SOAP и проверка всех атрибутов
mustUnderstand должны быть сделаны прежде, чем будет продолжена дальнейшая обработка. В зави
симости от представления, используемого для инфо-набора XML и порядка, в котором он передается,
данное правило может ограничить характеристику потока передачи, которая может быть достигнута.
Привязка МОЖЕТ зависеть от состояния, которое моделируется за пределами инфо-набора со
общения SOAP (например, счетчики повторной передачи), и МОЖЕТ передавать такую информацию
смежным узлам. Например, некоторая привязка может принимать адрес доставки сообщения (обычно
URI), которого нет в конверте.
8 Логическая структура сообщения SOAP
Сообщение SOAP определено как инфо-набор XML. в котором информационные объекты ком
ментариев. элементов, атрибутов, пространств имен и символов (character) могут быть сериализованы
как XML 1.0. Необходимо отметить, что требование возможности сериализации указанных информа
ционных элементов инфо-наборов сообщения SOAP как XML 1.0 НЕ ЯВЛЯЕТСЯ требованием сериа
лизации с использованием XML 1.0. Инфо-набор сообщения SOAP содержит информационный объ ект
— document с одним и только одним элементом в его свойстве [children], которое ДОЛЖНО быть
информационным объектом элемента Envelope SOAP (см. пункт 8.1). Этот информационный объект
является также и значением свойства [document element]. Свойства [notations] и [unparsed entities] оба
пусты. Рекомендация «Информационный набор XML» [XML InfoSet] допускает контент, который не мо жет
быть непосредственно сериализован с использованием XML: например, символ #х0 допускается в инфо-
наборе, но запрещен в XML. XML инфо-набор сообщения SOAP ДОЛЖЕН соответствовать тре бованиям
сериализации XML 1.0 [XML 1.0].
Инфо-набор XML сообщения SOAP НЕ ДОЛЖЕН содержать информационный объект декларации
типа документа (document type declaration).
15