SoapService
soapservice. СМЭВ 2.
Приложение предназначено для оправки запросов в СМЭВ 2.
Начиная с версии 5.00 в приложение добавлена возможность работы soapservice одновременно с несколькими ИС МФЦ. Это можно рассматривать либо как один из шагов к централизации МФЦ, либо как шаг к более удобному администрированию данного модуля. В таком режиме модуль устанавливается в единственном экземпляре и одновременно работает с несколькими БД ИС МФЦ. Возможна работа с несколькими модулями signer, полее подробно это будет описано ниже. При переходе на версию 5.00 МФЦ исопльзующим классическую модель (1 ИС - 1 Soapservice) не должно потребоваться каких-либо дополнительных манипуляций помимо штатного обновления Soapservice
При использовании нескольких ИС МФЦ для работы с модулем потребуется аторизация, чтобы разграничить работу с запросами разных ИС.
Конфигурирвоание SoapService
Конфигурация представляет собой xml-файл. Пример для одной ИС МФЦ (класический):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Config>
<MfcList>
<MfcConfig>
<Id>Идентификатор МФЦ. Должен быть равен настройке "Внутренний идентификатор МФЦ для модуля СМЭВ 3"</Id>
<Name>Назваине МФЦ (в произвольной форме, ни в какие отчеты не попадает)</Name>
<Database>
<Host>хост БД</Host>
<Port>порт БД</Port>
<Name>название БД</Name>
<User>пользователь БД</User>
<Password>пароль БД</Password>
</Database>
<MaxCountThread>максимальное число потоков на отправку</MaxCountThread>
</MfcConfig>
</MfcList>
<HttpPort>http порт на котором будетработаь приложение</HttpPort>
<MaxIgnoredErrors>лимит счетчика ошибок отправки запроса</MaxIgnoredErrors>
<Signer>
<Address>
<Address>адрес signer</Address>
<User>пользователь signer</User>
<Password>пароль signer</Password>
</Address>
<Alias>название контейнера ключей для технологической ЭЦП</Alias>
<RrAlias>название контейнера ключей для ЭЦП запросов в Росреестр</RrAlias>
<PepAlias>название контейнера ключей для ЭЦП зпросов создания УЗ ЕСИА</PepAlias>
</Signer>
<Autostart>признак автоматической отправки запросов по таймеру</Autostart>
<NoCheckHttpsCert>признак игнорирования проверок сретификатов в https-запросах</NoCheckHttpsCert>
</Config>
Пример для работы с несоклькими ИС МФЦ:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Config>
<MfcList>
<MfcConfig>
<Id>Идентификатор МФЦ. Должен быть равен настройке "Внутренний идентификатор МФЦ для модуля СМЭВ 3"</Id>
<Name>Назваине МФЦ (в произвольной форме, ни в какие отчеты не попадает)</Name>
<Database>
<Host>хост БД</Host>
<Port>порт БД</Port>
<Name>название БД</Name>
<User>пользователь БД</User>
<Password>пароль БД</Password>
</Database>
<Signer> <!-- перетирает настройки общего блока Signer -->
<Address>
<Address>адрес signer</Address>
<User>пользователь signer</User>
<Password>пароль signer</Password>
</Address>
<Alias>название контейнера ключей для технологической ЭЦП</Alias>
<RrAlias>название контейнера ключей для ЭЦП запросов в Росреестр</RrAlias>
<PepAlias>название контейнера ключей для ЭЦП зпросов создания УЗ ЕСИА</PepAlias>
</Signer>
<MaxCountThread>максимальное число потоков на отправку</MaxCountThread>
<ApiUser>пользователь авторизации API зарпосов из ИС МФЦ (так же настраивается в настройках ИС)</ApiUser>
<ApiPassword>пользователь авторизации API зарпосов из ИС МФЦ (так же настраивается в настройках ИС)</ApiPassword>
</MfcConfig>
<MfcConfig>
<Id>Идентификатор МФЦ. Должен быть равен настройке "Внутренний идентификатор МФЦ для модуля СМЭВ 3"</Id>
<Name>Назваине МФЦ (в произвольной форме, ни в какие отчеты не попадает)</Name>
<Database>
<Host>хост БД</Host>
<Port>порт БД</Port>
<Name>название БД</Name>
<User>пользователь БД</User>
<Password>пароль БД</Password>
</Database>
<MaxCountThread>максимальное число потоков на отправку</MaxCountThread>
</MfcConfig>
</MfcList>
<HttpPort>http порт на котором будетработаь приложение</HttpPort>
<MaxIgnoredErrors>лимит счетчика ошибок отправки запроса</MaxIgnoredErrors>
<Signer>
<Address>
<Address>адрес signer</Address>
<User>пользователь signer</User>
<Password>пароль signer</Password>
</Address>
<Alias>название контейнера ключей для технологической ЭЦП</Alias>
<RrAlias>название контейнера ключей для ЭЦП запросов в Росреестр</RrAlias>
<PepAlias>название контейнера ключей для ЭЦП зпросов создания УЗ ЕСИА</PepAlias>
</Signer>
<Autostart>признак автоматической отправки запросов по таймеру</Autostart>
<SuperUserPassword>пароль супер пользователя, который сможет просматривать историю запросов всех ИС МФЦ</SuperUserPassword>
</Config>
Если в блоке MfcConfig указать блок Signer, то его настройки будут более приоритетными при исопльзовании каждого из указанных конейнеров ключей для ЭЦП. То есть если в этом блоке указать только адрес модуля Signer и блок PepAlias, то этот Signer будет использоваться только для подписания запросов к сервисам ЕСИА. Все остальные ЭЦП будут формироваться корневым модулем Signer.
Конфигурационный файл описан и валидилируется следующей xsd-схемой:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Config" type="ConfigType">
<xs:annotation>
<xs:documentation>Служебный загловок СМЭВ</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ConfigType">
<xs:sequence>
<xs:element name="MfcList" type="MfcConfigsType" />
<xs:element name="HttpPort" type="xs:integer" />
<xs:element name="MaxIgnoredErrors" type="xs:integer" />
<xs:element name="Signer" type="HubSignerConfigType" />
<xs:element name="Autostart" type="xs:boolean" />
<xs:element name="Proxy" type="ProxyType" minOccurs="0" />
<xs:element name="NoCheckHttpsCert" type="xs:boolean" />
<xs:element name="SuperUserPassword" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="DbConfigType">
<xs:sequence>
<xs:element name="Host" type="xs:string"/>
<xs:element name="Port" type="xs:integer"/>
<xs:element name="Name" type="xs:string"/>
<xs:element name="User" type="xs:string"/>
<xs:element name="Password" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MfcConfigsType">
<xs:sequence>
<xs:element name="MfcConfig" type="MfcConfigType" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MfcConfigType">
<xs:sequence>
<xs:element name="Id" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="Database" type="DbConfigType" />
<xs:element name="Signer" type="MfcSignerConfigType" minOccurs="0" />
<xs:element name="MaxCountThread" type="xs:integer" />
<xs:element name="ApiUser" type="xs:string" minOccurs="0" />
<xs:element name="ApiPassword" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="HubSignerConfigType">
<xs:sequence>
<xs:element name="Address" type="SignerConnectionConfigType" />
<xs:element name="Alias" type="xs:string" />
<xs:element name="RrAlias" type="xs:string" minOccurs="0" />
<xs:element name="PepAlias" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="MfcSignerConfigType">
<xs:sequence>
<xs:element name="Address" type="SignerConnectionConfigType" />
<xs:element name="Alias" type="xs:string" minOccurs="0" />
<xs:element name="RrAlias" type="xs:string" minOccurs="0" />
<xs:element name="PepAlias" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="SignerConnectionConfigType">
<xs:sequence>
<xs:element name="Address" type="xs:string" />
<xs:element name="User" type="xs:string" />
<xs:element name="Password" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProxyType">
<xs:sequence>
<xs:element name="Host" type="xs:string" />
<xs:element name="Port" type="xs:integer" />
</xs:sequence>
</xs:complexType>
</xs:schema>
Установка
- Распаковать архив
- Запустить из папки с дистрибутивом soapservice.bat или soapservice.sh в зависимости от вашей ОС Обновление выполняется так же: распаковка и перезапуск
Установка модуля СМЭВ 2 как службы windows (необязательно)
- Распаковать архив http://azovkomeks.ru/update/smev2-service.zip в отдельную папку
- В файле smev2-service.xml все пути исправить на ваши
- Выполнить команду
smev2-service.exe install
с правами администратора.
Служба установлена.
Установка модуля СМЭВ 2 как службы systemd (linux) (необязательно)
- Создать в папке /etc/systemd/system файл soapservice.service следующего осдержания (пути и пользователей заменить на свои):
[Unit]
Description=Soapservice
After=syslog.target
[Service]
PIDFile=/opt/soapservice/pid
WorkingDirectory=/opt/soapservice
SyslogIdentifier=Soapservice
ExecStart=/opt/soapservice/soapservice.sh
User=user
Group=user
[Install]
WantedBy=multi-user.target
- Выполнить команду
systemctl daemon-reload
- Выполнить команду
systemctl enable soapservice.service
Готово
Зависимости
- signer2
- doc-transformer