ГОСТ Р ИСО/МЭК 40220—2015
Ответ МОЖЕТ иметь тип контента (Content-Type), отличный от «application/soap+xml». Такой ре
зультат особенно вероятен, если запрос SOAP, отправленный с помощью метода «GET» со свойством
http://www.w3.org/2003/05/soap/features/web-method/Method.
направлен (преднамеренно или иным об
разом) к серверу HTTP, не являющемуся в том числе и сервером SOAP. Такое использование считается
ненормативным и. соответственно, не моделируется в конечном автомате. Интерпретация таких отве
тов остается на усмотрение получателя. Точно так же получение любого объекта-тела ответа с кодом
состояния 202 ненормативно. Если такой неожиданный ответ имеет тип «applicatiorVsoap+xml», то об
работка SOAP такого ответа выходит за рамки спецификации данной привязки.
9.5.1.5 Success (Успех) и Fail (Отказ)
«Success» и «Fail» — терминальные состояния шаблонов «запрос-ответ» и «ответ SOAP». Управ
ление контекстом обмена сообщениями возвращается к локальному узлу SOAP
Если состояние «Success» было достигнуто, и конверт SOAP был получен, то локальный узел
является получателем SOAP (см. [ИСО/МЭК 40210, пункт 4.4.3]) и ДОЛЖЕН выполнять требования
раздела «Узлы SOAP» [ИСО/МЭК 40210, подраздел 5.1] для обработки сообщения согласно модели
обработки SOAP [ИСО/МЭК 40210, раздел 5].
9.5.2 Поведение отвечающего узла SOAP
В целом, поведение отвечающего узла SOAP следует описанию конечного автомата, соответству
ющего шаблону «запрос-ответ» (см. 8.2) или шаблону «ответ SOAP» (см. 8.3) (различия обозначены по
мере необходимости). Следующие подпункты подробно описывают каждое состояние.
9.5.2.1 Init (Инициализация)
В состоянии «Init» привязка ожидает поступление входящего сообщения запроса. В таблице 18
представлены ошибки, которые может генерировать отвечающий узел SOAP, находящийся в состоянии
«Init». В этом состоянии никакие сообщения SOAP не принимаются, поэтому узел SOAP не может гене
рировать отказ SOAP.
Т а б л и ц а 18— Ошибки, возможные в состоянии Инициализация
Проблема с сообщением
Код состояния HTTP
Поясняющая фраза HTTP
(информативная)
Плохо сформированное сообщение запроса
Некорректный HTTP метод: не POST и не GET
Неподдерживаемый метод инкапсуляции сооб
щения
400
405
415
Bad request
Method not allowed
Unsupported media
9.5 2.2 Receiving (Получение)
В состоянии «Receiving» привязка получает запрос и любое связанное с ним сообщение и ожи
дает готовности сообщения ответа. В таблице 19 представлены поля заголовка ответа HTTP, сгенери
рованные отвечающим узлом SOAP. В таблице 20 представлены коды состояния HTTP, связанные с
отказами SOAP, которые могут быть сгенерированы отвечающим узлом SOAP.
Т а б л и ц а 19— Поля заголовков ответа HTTP
Поле
Значение
Строка состояния
ЕсликонвертответаSOAPдоступенв
http://www.w3.org/2003/
O&’soap/mep/OutboundMessage. то устанавливается значение 200 или. если был сге
нерирован отказ SOAP, значение устанавливается согласно таблице 20. В противном
случае, если никакой конверт SOAP не предоставлен, то устанавливается значение 202
Полезаголовка
Content-Type
Если код состояния 200. тоустанавливается значение типа медиа тела ответа, см. опи
сание допустимых типов медиа в 9.1. Если код состояния не 200. то заголовок Content-
Type не отправляется
Дополнительные поля
заголовка
Генерируются в соответствии с установленным привязкой выражением для любых до
полнительных функций, использованных в данном обмене сообщениями. Например,
поле заголовка Content-Encoding (см. HTTP [RFC 2616]. подраздел 14.11) может исполь
зоваться для того, чтобы указать, что используется опциональная функции сжатия
26