Войти

5.2.6. Структура сообщения с ответом о статусе ранее отправленного в СМЭВ сообщения

5.2.6. Структура сообщения с ответом о статусе ранее отправленного в СМЭВ сообщения, которое ИС инициатора получает из СМЭВ

При получении из СМЭВ SOAP-ответа, ИС получателя проверяет в СМЭВ-конверте наличие элемента //ResponseMessage (присутствует, если очередь ответов не пуста). Элемент //ResponseMessage включает два элемента (рисунок 31):

  • блок данных СМЭВ-конверта (//Response);
  • электронная подпись СМЭВ (//SMEVSignature).

28.jpg

Рисунок 31 – Общая структура сообщения с блоком AsyncProcessingStatus, которое ИС получателя получает из СМЭВ.

5.2.6.1. Блок данных СМЭВ-конверта

Блок данных СМЭВ-конверта //Response содержит элементы:

  • идентификатор запроса (//OriginalMessageId), заполняемый СМЭВ значением идентификатора запроса, на который высылается ответ;
  • код транзакции (//OriginalTransactionCode), заполняемый СМЭВ значением кода транзакции, в рамках которой высылается ответ;
  • идентификатор первичного запроса (//ReferenceMessageID), заполняемый СМЭВ значение идентификатора запроса, являющегося источником цепочки запросов. Если в цепочке запросов всего один запрос, то этот элемент заполняется значением элемента //OriginalMessageId;
  • блок данных ответа //SenderProvidedResponseData, сформированный отправителем ответа;
  • идентификатор сообщения, сгенерированный отправителем ответа (//SenderProvidedResponseData/MessageID). В сообщениях, сформированных по версии схемы СМЭВ 1.3 и содержащих статус обработки отправленного сообщения, значение будет совпадать с OriginalMessageId.
  • блок маршрутной информации СМЭВ (//MessageMetaData) с метаданными (раздел 5.2.5.1).

Блок данных ответа включает три элемента, которые заполняются в СМЭВ:

  • идентификатор сообщения (//MessageID), обязательный элемент, идентификатор сообщения в виде UUID, основанного на времени, сгенерированный отправителем. UUID необходимо генерировать по версии 1 (см. п. 4.2 «Algorithms for Creating a Time-Based UUID» RFC 4122 https://datatracker.ietf.org/doc/html/rfc4122#section-4.2);
  • адрес доставки ответа (//To), обязательный элемент, в который копируется содержимое элемента //GetRequestResponse/RequestMessage/ Request/ReplyTo запроса, на который отправляется ответ;
  • блок данных статуса сообщения (//AsyncProcessingStatus) содержит элементы:
    • идентификатор сообщения (//OriginalMessageId), сформированный отправителем сообщения;
    • категория статуса (//StatusCategory), содержащий одно из следующих возможных значений:
      • requestIsQueued (Сообщение находится в очереди асинхронной обработки / Сообщение помещено в очередь получателя (запрос или ответ));
      • requestIsRejectedBySmev (Сообщение не прошло асинхронную обработку);
      • messageIsArchived (Сообщение, получение которого не подтверждено получателем, переведено в архив);
      • messageIsDelivered (Сообщение получено получателем, т.е. получение сообщения подтверждено получателем).

Более подробный перечень возможных значений указан в версиях схем СМЭВ smev-message-exchange-basic-1.X в Приложении М текущего документа.

  • уведомление об описании статуса сообщения (//StatusDetails), содержащий описание статуса сообщения;
  • элемент типа //SmevFault, содержащий в себе элемент //Code, определяющий код ошибки, и элемент //Description, содержащий описание ошибки.

5.2.6.2. Электронная подпись СМЭВ

Структура ЭП-СМЭВ //SMEVSignature аналогична одноименному элементу в //RequestMessage запроса (раздел 5.2.3).

С помощью ЭП-СМЭВ обеспечивается целостность сообщения с ответом на всем пути от отправителя сообщения до получателя сообщения, подтверждение поступления ответа из СМЭВ во время, указанное в метке времени, и право на обращение системы-инициатора за ответом.

Авторизуйтесь, чтобы оставить комментарий к статье