Войти

5.2. Единый сервис СМЭВ (общие положения)

5.2.1. Общие положения

Электронные сообщения в СМЭВ передаются в формате XML в кодировке UTF-8 с указанием кодировки в заголовке сообщения. Соответствующие им WSDL и XSD файлы также должны использовать кодировку UTF-8 с указанием кодировки в заголовке сообщения.

Процесс отправки системой-инициатором запроса и получения ответа на запрос от системы-ответчика представляет собой последовательность вызовов единого электронного сервиса СМЭВ информационными системами инициатора и ответчика:

  • передача в СМЭВ запроса от системы-инициатора (//SendRequestRequest);
  • получение из СМЭВ запроса системой-ответчиком (//GetRequestResponse);
  • подтверждение системой-ответчиком получения запроса из СМЭВ (//AckRequest);
  • передача в СМЭВ ответа от системы-ответчика  (//SendResponseRequest);
  • получение из СМЭВ ответа либо ответа со статусом системой-инициатором  (//GetResponseResponse)
  • подтверждение системой-инициатором  получения ответа из СМЭВ (//AckRequest).

Перечисленные в скобках элементы являются, по своему назначению, конвертами сообщений (далее – СМЭВ-конверты), так как представляют собой «оболочку» для передачи в СМЭВ сообщений, включающих блоки и элементы служебных и бизнес данных, а также электронные подписи.

При отправке сформированного СМЭВ-конверта в HTTP-заголовке необходимо передавать параметр HOST в соответствии со средой, посредством которой происходит обмен данными. Например, продуктивная среда (схема 1.3):

Host: 172.20.3.12:5000

Актуальные адреса для обращений к СМЭВ 3.0 размещены в Единой системе контекстных справок (ЕСКС) в разделе "База знаний" блок "Часто задаваемые вопросы" по ссылке https://info.gosuslugi.ru/articles/Актуальные_адреса_для_обращений_к_СМЭВ_3/.

Метод Get реализован в соответствии со стандартом http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/.

Наименования перечисленных выше элементов образуются из слов Send/Get и Request/Response, соответствующих назначению элемента. Первый слог в имени элемента образуется словом «Send» или «Get», которое соответствует выполняемому действию с точки зрения ИС участника взаимодействия. Например, с точки зрения системы-инициатора, он посылает (Send) запрос, а с точки зрения системы-ответчика, он получает (Get) этот же запрос. Второй слог образуется словом «Request» или «Response» и определяет назначение сообщения с точки зрения бизнес-логики: слово «Request» означает запрос от системы-инициатора к системе-ответчику, а слово «Response» означает ответ от системы-ответчика к системе-инициатору. Третий слог образуется также словом «Request» или «Response», но несёт другой смысл: слово «Request» соответствует SOAP-запросу, а слово «Response» SOAP-ответу.

Элемент AckRequest (от acknowledgement request) является запросом на подтверждение и содержит ссылку на сообщение (идентификатор сообщения), получение которого подтверждается методом Ack.

Внимание! Метод получения статистики входящих очередей //GetIncomingQueueStatistics исключен из состава методов единого электронного сервиса СМЭВ версии 1.2 и отсутствует в 1.3. Данный метод заменён push-нотификациями (раздел 11).

Схемы единого сервиса СМЭВ3.Х приведены в приложении М.

5.2.1.1. Правила формирования HTTP-заголовков в сообщении

При формировании HTTP-запроса для передачи СМЭВ-конверта в Единый сервис заполнение заголовков Host, SOAPAction, Content-Type,Content-Length является обязательным. 

Значение заголовка "Host" должно соответствовать IP-адресам среды функционирования СМЭВ, указанным в Единой системе контекстных справок (ЕСКС) https://info.gosuslugi.ru/articles/Актуальные_адреса_для_обращений_к_СМЭВ_3/  в разделе "Адреса размещения Единого электронного сервиса".

Значение заголовка "SOAPAction" должно включать в себя одно из следующих значений:

  • urn:SendRequest   - для СМЭВ-конвертов с обращениями SendRequestRequest
  • urn:SendResponse - для СМЭВ-конвертов с обращениями SendResponseRequest
  • urn:GetRequest     - для СМЭВ-конвертов с обращениями GetRequestRequest
  • urn:GetResponse   - для СМЭВ-конвертов с обращениями GetResponseRequest
  • urn:Ack                  - для СМЭВ-конвертов с обращениями AckRequest

Значения заголовков "Content-Type", "Content-Length" должны соответствовать требованиям стандарта rfc2616 (https://www.ietf.org/rfc/rfc2616.txt).

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