5.2.5. Структура сообщения с ответом, которое ИС получателя ответа получает из СМЭВ
5.2.5.1. Простые протоколы обмена
При получении из СМЭВ SOAP-ответа, ИС получателя ответа проверяет в СМЭВ-конверте наличие элемента //ResponseMessage (присутствует, если очередь ответов не пуста). Элемент //ResponseMessage включает три элемента (рисунок 29):
- блок данных СМЭВ-конверта (//Response);
- блок содержимого вложений, передаваемых MTOM (//AttachmentContentList);
- электронная подпись СМЭВ (//SMEVSignature).
Рисунок 29 – Общая структура сообщения с ответом, которое ИС получателя ответа получает из СМЭВ (без указания элементов RequestRejected, RequestStatus или AsyncProcessingStatus) (простой протокол обмена).
5.2.5.1.1. Блок данных СМЭВ-конверта
Блок данных СМЭВ-конверта //Response содержит элементы:
- блок данных ответа //SenderProvidedResponseData, сформированный отправителем ответа (раздел 5.2.4);
- ЭП-ОВ, которой ИС отправителя подписан блок данных ответа, а также пять дополнительных элементов, добавленных СМЭВ (на рисунке 26 выделены заливкой белым цветом);
- идентификатор запроса (//OriginalMessageId), заполняемый СМЭВ значением идентификатора инициирующего запроса, на который пришёл ответ;
- код транзакции (//OriginalTransactionCode), заполняемый СМЭВ значением кода транзакции, в рамках которой пришёл ответ;
- идентификатор первичного запроса (//ReferenceMessageID), заполняемый СМЭВ значением идентификатора запроса, являющегося источником цепочки запросов. Если в цепочке запросов всего один запрос, то этот элемент заполняется значением элемента //OriginalMessageId;
- блок маршрутной информации СМЭВ (//MessageMetaData) с метаданными, включающими элементы:
- идентификатор сообщения c ответом, которое ИС участника получает из СМЭВ (//MessageId). Данный идентификатор необходимо использовать для подтверждения сообщения методом AckRequest.
- тип сообщения (запрос «REQUEST», ответ «RESPONSE», рассылка «BROADCAST») (//MessageType);
- информация об отправителе сообщения (//Sender), включающая вычисляемую на основе анализа сертификата ЭП-ОВ мнемонику отправителя сообщения, предназначенную для машинной обработки (Mnemonic);
- метка времени получения в СМЭВ сообщения от ИС отправителя сообщения (//SendingTimeStamp). Содержит дату и время, начиная с которого отсчитывается срок исполнения запроса;
- информация об отправителе сообщения (//Recipient), определённая маршрутизатором и включающая мнемонику получателя сообщения, предназначенную для машинной обработки (//Mnemonic);
- дата и время доставки сообщения получателю (//DeliveryTimeStamp).
- блок заголовков вложений, передаваемых посредством ФХ (//FSAttachmentsList), с данными, включающими элементы:
- идентификатор вложения (//uuid);
- имя пользователя (в совокупности с паролем необходимо для получения доступа к файловому хранилищу СМЭВ, чтобы скачать файл вложения) (//UserName);
- пароль (в совокупности с именем пользователя необходим для получения доступа к файловому хранилищу СМЭВ, чтобы скачать файл вложения) (//Password);
- имя файла вложения (//FileName).
5.2.5.1.2. Блок содержимого вложений
Структура блока содержимого вложений, передаваемых MTOM //AttachmentContentList, аналогична одноименному элементу в сообщении с ответом, направленном из ИС отправителя сообщения в СМЭВ (раздел 5.2.4).
5.2.5.1.3. Электронная подпись СМЭВ
Структура ЭП-СМЭВ (//SMEVSignature) аналогична одноименному элементу в //RequestMessage запроса (раздел 5.2.3).
С помощью ЭП-СМЭВ обеспечивается целостность сообщения с ответом на всем пути от отправителя сообщения до получателя сообщения, подтверждение поступления ответа из СМЭВ во время, указанное в метке времени, и право на обращение ИС получателя сообщения за ответом.
5.2.5.2. Директивные протоколы обмена
Структура сообщения с ответом, которое ИС получателя ответа получает из СМЭВ, от ИС отправителя сообщения, приведена на рисунке 30.
Рисунок 30 – Общая структура сообщения с ответом, которое ИС получателя получает из СМЭВ (без указания элементов RequestRejected, RequestStatus или AsyncProcessingStatus) (директивные протоколы обмена).
Структура сообщения аналогичная простому протоколу обмена и включает в себя
- блок данных СМЭВ-конверта (//Response);
- блок содержимого вложений, передаваемых MTOM (//AttachmentContentList);
- электронная подпись СМЭВ (//SMEVSignature).
5.2.5.2.1. Блок данных СМЭВ-конверта
Блок данных СМЭВ-конверта (//Response) аналогичен простому протоколу обмена, за исключением:
- блок данных ответа //SenderProvidedResponseData, сформированный отправителем ответа (раздел 5.2.4) не содержит блоков заголовков и ЭП-СП вложений, передаваемых посредством ФХ или МТОМ. Они располагаются в записях реестра;
- электронную подпись должностного лица (//PersonalSignature) допускается не указывать, при обязательном наличии ЭП-СП в каждой записи реестра.
5.2.5.2.2. Блок содержимого вложений
Структура блока содержимого вложений, передаваемых MTOM //AttachmentContentList, аналогична одноименному элементу в сообщении с ответом, направленном из ИС отправителя ответа в СМЭВ (раздел 5.2.4).
5.2.5.2.3. Электронная подпись СМЭВ
Структура ЭП-СМЭВ (//SMEVSignature) аналогична одноименному элементу в //RequestMessage запроса (раздел 5.2.3).
С помощью ЭП-СМЭВ обеспечивается целостность сообщения с ответом на всем пути от отправителя сообщения до получателя сообщения, подтверждение поступления ответа из СМЭВ во время, указанное в метке времени, и право на обращение ИС получателя за ответом.