Войти

Обмен сообщениями с помощью SOAP UI (Web-сервис)

Для отправки и приема сообщений в СМЭВ посредствам интеграционного узла адаптера (ИУА) можно использовать несколько интерфейсов, в том числе интерфейс «Web-сервис». Web-сервис ИУА реализован для обеспечения информационного взаимодействия по SOAP или REST API протоколу.

Рассмотрим примеры обменов по SOAP – протоколу на примере работы в приложении SOAP UI.

Скачать дистрибутив бесплатной версии программы SOAP UI можно здесь. После скачивания и установки ИУА (Интеграционного Узла Адаптера) и SOAP UI, создайте новый Soap проект:

soap 1.png

Адрес WSDL в ИУА по умолчанию: http://localhost:7575/ws/SMEVServiceAdapterService?wsdl

Слева будут доступные методы:

soap 2.png
Web-сервис предоставляет следующие методы:
 

Метод «Send», обеспечивающий отправку запросов и ответов на запросы в СМЭВ3

Описание основных полей метода Send:

ClientMessage – Контейнер, включает следующие данные сообщения:

  1. ItSystem – Мнемоника ИС. Код, который присваивается ИС УВ при ее регистрации в СМЭВ.
  2.  RequestMessage– контейнер, включает в себя:

2.1. RequestMetadata/clientId - Уникальный идентификатор запроса. Должен генерироваться для каждого сообщения.

2.2. RequestMetadata/replyToClientId - Идентификатор запроса, на который направляется данный ответ. Применим только для сообщений – ответов.

2.3. RequestMetadata/testMessage – признак тестового сообщения. Если true, то запрос уйдет не реальному УВ, а в эмулятор. Эмулятор в этом случае ответим эталонным сообщением.

2.4. RequestMetadat/RoutingInformation – блок маршрутной информации. Применим только для ВС с динамической маршрутизацией

2.5. RequestContent/content  - контейнер, включает в себя:

2.5.1. MessagePrimaryContent – контейнер, в который заключён блок бизнес – данных запроса или ответа.

2.5.2. AttachmentHeaderList – контейнер с информацией о вложениях.

Для тестового обмена, с целью проверить работоспособность ИУА можно:

  •  для бизнес – части конверта найти любой ВС в ЛК УВ, например, https://lkuv.gosuslugi.ru/paip-portal/#/inquiries/card/dd08daa2-d9cd-11eb-87f2-6dd2d98a56b1 .
  • Скачать архив «Инструкции и файлы тестирования с эмулятором.zip» и взять оттуда конверт request.
  •  Заполнить другие минимально-необходимые поля (ItSystem  и clientId ) и отправить конверт с признаком тестового сообщения (<typ:testMessage>true</typ:testMessage>).

Примеры конвертов SOAP UI:

Запрос

Ответ с вложением

 

Метод «Get», обеспечивающий прием сообщений из СМЭВ

Описание основных полей метода Get:

MessageQuery – контейнер, включает следующие данные запроса сообщения:

  1. itSystem - Мнемоника ИС. Код, который присваивается ИС УВ при ее регистрации в СМЭВ.
  2.  specificQuery/messageTypeCriteria/TypeCriteria – Включает следующие перечисляемые типы:
    - RESPONSE (Вариант получения очередного ответа);
    - REQUEST (Вариант получения очередного запроса)
  3. NodeID – код узла ИС. Используется, если у ИС зарегистрированы выделенные узлы.

Минимальный конверт для использования метода GET должен включать только MessageQuery/itSystem

Пример использования метода

 

Метод «Find», обеспечивающий поиск сообщений в ИУА

Описание основных полей метода Find:

FindMessageQuery – контейнер, включает следующие данные запроса сообщений:

  1.  isSystem - Мнемоника ИС. Код, который присваивается ИС УВ при ее регистрации в СМЭВ.
  2. specificQuery, контейнер, включает варианты запроса сообщений:

2.1.       messagePeriodCriteria - Получение сообщений из ИУА за заданный период. Включает поля from и to

2.2.       messageClientIdCriteria – контейнер, включает в себя:

2.2.1.   clientId - уникальный идентификатор запроса, ранее сформированного и отправленного ИС УВ в ИУА.

2.2.2.   clientIdCriteria - Включает следующие перечисляемые типы:

-   GET_REQUEST_BY_REQUEST_CLIENTID (Получить запрос по клиентскому идентификатору запроса);

-   GET_RESPONSE_BY_RESPONSE_CLIENTID (Получить ответы на запрос по клиентскому идентификатору ответа на запрос);

-   GET_RESPONSE_BY_REQUEST_CLIENTID (Получить ответ на запрос по клиентскому идентификатору запроса).

2.3.       MessageCountToReturn – Количество сообщений, удовлетворяющих критериям поиска, которое необходимо вернуть.

2.4.       MessageOffset - Необходимо последовательно возвращать указанное в MessageCountToReturn -  количество, начиная с сообщения с порядковым номером, указанным в MessageOffset, относительно всех сообщений, удовлетворяющих критериям поиска.

Примеры использования метода

Для выполнения метода в SOAP UI, сформируйте конверт сообщения в левой части и нажмите зеленый треугольник:

soap 3.png

В правой части экрана будет результат выполнения метода.

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