ГОСТ Р ИСО/МЭК 29361— 2012
R1119 ПОЛУЧАТЕЛЬ МОЖЕТответить отказом, если значение поля заголовка HTTP SOAPAction
в сообщении не взято в кавычки. С
R1127 ПОЛУЧАТЕЛЬ НЕ ДОЛЖЕН полагаться на значение заголовка HTTP SOAPAction для пра
вильной обработки сообщения. SOAP12
Например.
ПРАВИЛЬНО:
Описание WSDL. в котором имеется:
<soapbind:operation soapAction^oo" l>
приведет к сообщению со следующим полем заголовка HTTP SOAPAction:
“foo"
ПРАВИЛЬНО:
Описание WSDL. в котором имеется:
<soapb»nd:operation />
или
<soapbind:operat>on soapAction=*"t>
приведет к сообщению со следующим полем заголовка HTTP SOAPAction: “ "
3.4.4 Успешные коды статуса HTTP
В HTTP используют коды статуса вида 2хх для сообщения об успешном завершении. В частности,
код 200 является принимаемым по умолчаниюдля успешных сообщений, а код 202 может быть использо
вандля указания того, что сообщение было передано на обработку.Дополнительно могут быть использова
ны другие коды статуса вида 2хх в зависимости от характера взаимодействия HTTP.
R1124 ЭКЗЕМПЛЯР ДОЛЖЕН использовать код статуса HTTP вида 2хх в ответном сообщении,
которое указывает на успешныйрезультат запроса HTTP.
R1111 ЭКЗЕМПЛЯРУ СЛЕДУЕТ использовать код статуса HTTP «200 ОК» HTTP в ответном
сообщении, которое содержит оболочку, не являющуюся отказом.
R1112 ЭКЗЕМПЛЯРУ СЛЕДУЕТиспользовать код статуса HTTP «200 ОК» или «202 Accepted» для
ответного сообщения, которое не содержит оболочку SOAP, но указывает на успешный результат
запроса HTTP.
Несмотря на то, что в HTTP 1.1 присвоен разный смысл кодам статуса ’200" и “202’, в контексте
Профиля инициатору запроса следует рассматривать их эквивалентными. В Профиле приняты оба кода
статуса, так как некоторые реализации SOAP слабо управляют реализацией протокола HTTP и не могут
контролировать, какой из этих кодов статуса отправлен.
3.4.5 Коды статуса перенаправления HTTP
Имеются проблемы интероперабельности с использованием многих кодов статуса перенаправления
HTTP в общем случае относящиеся к вопросу о том, использовать ли исходный метод или GET. В Профиле
обязательным является использование кода «307 Temporary Redirect» в качестве правильного кода статуса
для перенаправления, который имеет семантику перенаправления с тем же самым методом HTTP.
Подроб нее см. описание кодов статуса Зхх в RFC2616.
R1130 ЭКЗЕМПЛЯР ДОЛЖЕН использовать код статуса HTTP «307 TemporaryRedirect» припере
направлении запроса в другуюконечную точку.
R1131 ПОТРЕБИТЕЛЬ МОЖЕТ автоматически перенаправить запрос, когда в ответе он встре
тил код статуса HTTP «307 Temporary Redirect».
В RFC2616 отмечено, чтоагентам пользователей не следует автоматически перенаправлять запросы;
однако, это требование ориентировано на броузеры, а не на автоматические процессы (каковыми будут
являться сетевыеуслуги). Следовательно, в Профиле потребителям разрешается, но не требуется, автома
тически следовать за перенаправлениями.
3.4.6 Коды статуса ошибки клиента HTTP
В HTTP используют коды статуса вида 4хх для указания отказов, связанных с ошибками клиента.
Хотя имеется ряд ситуаций, которые могут привести кодному из этих кодов, в Профиле выделяют те из них,
когда запрос HTTP не имеет нужный тип оболочки и когда не используется ожидаемый метод {«POST»).
R1125 ЭКЗЕМПЛЯР ДОЛЖЕН использовать код статуса HTTP 4хх для ответа, указывающего на
проблему сформатом запроса.
R1113 ЭКЗЕМПЛЯРУ СЛЕДУЕТиспользовать код статуса HTTP «400 Bad Request», когда сообще
ние запроса HTTP неправильно сформировано.
12