ГОСТ ISO/IEC 24824-2—2013
Приложение D
(справочное)
Общее предоставление сервисов с использованием быстрых веб-сервисов и веб-сервисов
XML
Вданномприложении описаныстратегии, которые могутбыть применены клиентамибыстрых веб-сервисов
для того, чтобывзаимодействоватьсSOAPузлами, неотличающимисябыстротой. Стратегии используютфункции
ASN.1 HTTP привязки, описанныев разделе 10.
Стратегия применена успешно, если клиент быстрого веб-сервиса идентифицирует SOAPузел какбыстрый
ивзаимодействие происходитпутемобмена SOAPASN.1 сообщениями. Впротивномслучав стратегия применена
неудачно, и взаимодействие происходит путемобмена XMLSOAP сообщениями.
Примечание 1— Внастоящем приложении предполагается, что описание сервиса либо не использу
ется, либонесодержит информацию, описывающую возможности быстрыхвеб-сервисов (или такая информация,
еслионаприсутствует, игнорируется), какуказанов разделе 12.
Описаны три стратегии: однаоптимистическая (см. D.1)и две пессимистические (см. D.2).
Примечания
1 Важность и полезность некоторых из этих стратегий зависит от того, использует ли большинство веб-
сервисоводин запрос/ответдля соединения и выполняетсяликэширование информациио конкретном сервере.
2 После того как клиент удостоверился, поддерживает ли SOAP узел быстрые веб-сервисы, у него больше
нет необходимости применять запрашивающие намеки (см. D.2.1) или ответные возможности (см. D.2.2). Однако
кэширование возможностей клиента иSOAP узла следует использоватьс осторожностью, таккакреализация мо
жет измениться. Возможности SOAPузла могут гарантироваться толькоописанием сервиса или же тем, что
было установлено втечение срока HTTP соединения. НТТР/1.1 имеет возможность «keep-alive» соединений, при
кото рых несколько пар запрос/ответ могутбытьотправлены черезтоже самоесоединение.
D.1 Оптимистическая стратегия
D.1.1 При использовании данной стратегии клиент быстрого веб-сервиса оптимистично предполагает, что
соответствующие SOAPузлы быстрые иимеют возможностьобработкиASN.1 SOAPзапрос-сообщений и ответов
ASN.1 SOAPответ-сообщениями.
D.1.2 ПриемASN.1 SOAPсообщенияSOAPузлом может привести кдвумвозможным вариантам:
a) SOAP узел отвечает клиенту ошибкой HTTP с кодом 400-серии (см. RFC 2616, 10.4). Клиент быстрого
веб-сервиса должен ожидать HTTP кодсостояния «415 Unsupported Media Туре», нотребуется также обработка и
других кодовсостояния, а именно «400 Bad Request».
Примечания
1 «415 Unsupported MediaТуре» будет появлятьсяпотому,чтоSOAPузелне поддерживает медиа тип HTTP
дляASN.1SOAPсообщения и. следовательно, не являетсябыстрым.
2 HTTP предоставляет открытый механизм для поддержки HTTP кодов состояния определенных расшире
ний. Соответствующие HTTP приложения должны обрабатывать любой нераспознанный код состояния 4хх как
эквивалент кодасостояния «400 Bad Request»;
b)SOAPузел отвечаетASN.1 SOAPответ-сообщением.
D.1.3 Если происходит случай, описанный в D.1.2, то оптимистическая стратегия не удалась и клиент бы
строго веб-сервиса должен повторно отправить семантически эквивалентное XML SOAP сообщение для взаимо
действиялибоприступить кпессимистическойстратегии, описанной вD.2.
D.1.4 Если происходит случай, описанный в D.1.2. Ь), то оптимистическая стратегия удалась при первом
запросе.
D.2 Пессимистическая стратегия
Прииспользованииданной стратегии клиентбыстроговеб-сервисапессимистически предполагает,чтосоот
ветствующие SOAPузлынебыстрые ине имеют возможности обработкиASN.1 SOAPзапрос-сообщений и ответа
ASN.1 SOAPответ-сообщениями.Две пессимистическиестратегии изложены в D.2.1 и D.2.2.
D.2.1 Пессимистическая стратегия с запросом подсказок
D.2.1.1 Клиентбыстрого веб-сервиса посылаетXMLSOAPсообщение сзапросом подсказок, соответствую
щимполюHTTPзаголовка Accept, какуказано в10.1.4.ASN.1 SOAP HTTPпривязке. Полезаголовка Acceptбудет
содержатьHTTPмедиа типыдляASN.1 SOAPсообщения «application/fastsoap» и XMLSOAP сообщение.
Примечание — Данная стратегия использует управляемое сервером согласование содержания (см.
IETFRFC2616, 12.1), котороеявляетсяфункциейНТТР/1.1.ASN.1SOAPHTTPпривязка поддерживает НТТР/1.1 и
НТТР/1.0. W3C SOAPЧасть 2, 7.1.2. рекомендует использоватьдля реализацийНТТР/1.1.
34