СМЭВ 3

Процесс взаимодействия

Работа СМЭВ 3 существенно отличается от работы СМЭВ 2. В частности изменился процесс взаимодействия ИС потребителя, СМЭВ, ИС поставщика.

Для именования пространств имен элементов в сообщениях зарезервированы два источника со схемой URN (базовые URI):

  • urn://x-artefacts-smev-gov-ru/
  • urn://smev-gov-ru/
Процесс отправки ИС потребителя запроса и получения ответа на запрос от ИС поставщика представляет собой последовательность вызовов единого электронного сервиса СМЭВ информационными системами потребителя и поставщика:

  1. передача в СМЭВ запроса из ИС потребителя (//SendRequestRequest);
  2. получение из СМЭВ запроса в ИС поставщика (//GetRequestResponse);
  3. подтверждение поставщиком получения запроса из СМЭВ (//AckRequest);
  4. передача в СМЭВ ответа из ИС поставщика (//SendResponseRequest);
  5. получение из СМЭВ ответа в ИС потребителя (//GetResponseResponse);
  6. подтверждение потребителем получения ответа из СМЭВ (//AckRequest).


Типы сообщений

Сообщения типа "Запрос" - request

К сообщениям типа «Запрос» (далее – запрос) относятся сообщения, исходящие от инициатора взаимодействия: межведомственные запросы, запросы на оказание государственных или муниципальных услуг, широковещательные рассылки.

Сообщения типа «запрос» проходят контроль корректности данных в два этапа – синхронная и асинхронная  (необязательная) проверка.

Первый этап – синхронная проверка. После выполнения всех синхронных проверок, запрос помещается в очередь на асинхронную проверку. Если проверка прошла успешно, то в ответе возвращается сообщение об успешной проверке, при наличии ошибок метод {urn://x-artefacts-smev-gov-ru/services/message-exchange/1.1:SendRequest} возвращает fault.

Асинхронная проверка осуществляется после успешного завершения этапа синхронной проверки. При передаче сообщения в асинхронную проверку СМЭВ в ответ на запрос возвращает в синхронном режиме сообщение, где в блоке MessageMetadata содержится следующий тег: <ns2:Status>requestIsQueued</ns2:Status>.

Если какая-либо асинхронная проверка показала ошибку, СМЭВ помещает во входящую очередь ответов отправителя запроса сообщение об ошибке. Сообщение об ошибке будет получено отправителем запроса при очередном запросе GetResponse.

Отличить ответы поставщика данных от сообщений СМЭВ об ошибках асинхронного контроля можно по содержимому элемента {urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1:GetResponseResponse}: если его дочерний элемент SenderProvidedResponseData содержит элемент MessagePrimaryContent, то это ответ Поставщика, а если элемент AsyncProcessingStatus – ответ об ошибке асинхронной обработки СМЭВ.

Допустимо направление несколько запросов в рамках одной бизнес-транзакции (запрос сведений, дозапрос сведений, сообщение статуса Потребителя о получении сведений и т.д.). В случае множественных запросов идентификатор первичного запроса помещается в поле ReferenceMessageID всех последующих запросов в рамках бизнес-транзакции.


Сообщения типа "Запрос" - response

Сообщения типа «Ответ» (далее – ответ) могут содержать либо запрошенные данные, либо мотивированный отказ в приеме запроса к исполнению. Запросы, представляющие собой широковещательные рассылки, не требуют ответов.

Сообщения типа «Ответ» проходят контроль корректности данных аналогично сообщениями типа «Запрос».


Комментарии

Популярные сообщения из этого блога

Linux (РедОС). Сброс пароля

TRUNCATE / DELETE / DROP или как очистить таблицу

КБК. КВФО - Код вида финансового обеспечения (деятельности)

SQL Error [53200]: ОШИБКА: нехватка разделяемой памяти Подсказка: Возможно, следует увеличить параметр max_locks_per_transaction

РедОС. Подключение к сетевой папке