7.5. Получение сообщения ФП

Получение ФП ЭС из ТШ КБР осуществляется посылкой HTTP-запроса (HTTP request) методом GET по протоколу HTTP 1.1 [RFC 2616] на URL https://хост:8888/<суффикс>/get.

Заголовки HTTP-запроса должны содержать следующие обязательные значения:

Authorization

Authorization: Basic xxxxxxxxxxxxxxxxxxx, где xxxxxxxxxxxxxxxxxxx - данные ФП.

Данные ФП формируются следующим образом:

а) логин и пароль, разделенные двоеточием, пример: aladdin:opensesame;

б) результирующая строка, закодированная в Base64 (RFC4648) пример: YWxhZGRpbjpvcGVuc2VzYW11

При отсутствии данного заголовка ТШ КБР посылает HTTP-ответ (HTTP response) с телом служебного сообщения и кодом ответа 401 - требования аутентификации

Connection

Connection: keep-alive

Максимальное время ожидания ответа на запрос ФП составляет 2 секунды с момента направления ФП запроса.

Следующий запрос на получение сообщения должен быть направлен ФП сразу после получения ответа на предыдущий запрос.

При осуществлении взаимодействия в тестовом контуре направление запросов на получение сообщений от ТШ КБР осуществляется не более, чем в 10 потоков.

В ответ на запрос ТШ КБР возвращает HTTP-ответ (HTTP response) с телом, содержащим ЭС (при его наличии) и кодом ответа:

а) 20X, как факт успешной обработки запроса:

1) 200 - сообщение обработано успешно

2) 204 - нет сообщений

б) 30X, перенаправления сообщения:

1) 302 - следующий запрос направлять на другой узел, указанный в заголовке ответа в поле Location:

в) 40X - требования к пользовательским действиям (требование аутентификации или сообщение об отсутствии сообщений в очереди):

1) 401 - необходима аутентификация

2) 404 - неправильный запрос

г) 50X - ошибки системы:

1) 501 - внутренняя ошибка

В случае успешной обработки запроса ФП (код 200), заголовок HTTP-ответа содержит следующие значения (но не ограничивается ими):

Content-type

Content-type - идентификатор сообщения ЦР: application/xml. Не кодируется в Base64.

InstanceID

InstanceID - идентификатор, принимаемого сообщения. Используется для идентификации сообщения (формат random UUID). Не кодируется в Base64.

Тело сообщения содержит XML сообщение - не кодируется в Base64. XML сообщение оформлено в соответствии с документом [5].