Реєстрація API-ендпоінтів у ШБО "Трембіта": активація та виклик бізнес-процесів
- 1. Передумови
- 2. Налаштування ШБО
- 2.1. Додавання WSDL-файлу
- 2.2. Додавання прав доступу до створеного WSDL
- 2.3. Додавання об’єкта
- 2.4. Вимкнення перевірки сертифіката TLS
- 2.5. Створення файлу WSDL із даними "Трембіта"
- 2.6. Збереження файлу із WSDL на локальній машині
- 2.7. Створення запита у додатку SOAP UI
- 2.8. Заповнення полів для виклику
- 2.9. Надсилання запита
- 3. Пов’язані сторінки
1. Передумови
-
Отримайте доступ до інтерфейсу ШБО "Трембіта". Для цього зверніться до адміністратора інфраструктури, де розгорнуто ШБО. Він має видати вам IP-адресу та порт, а також логін та пароль для автентифікації.
-
Запросіть IP-адресу сервера ШБО "Трембіта" для забезпечення whitelisting між сервісами реєстру та ШБО. Додайте отриману IP-адресу до списку дозволених. Наприклад,
172.16.0.0
.Whitelisting налаштовується на рівні конфігурації ШБО "Трембіта" в адміністративній панелі Control Plane.
Детальніше про це — див. на сторінці Обмеження доступу на рівні IP до SOAP-роутів ШБО "Трембіта".
-
Для того, щоб інші реєстри на Платформі або зовнішні системи могли звернутися до бізнес-процесів вашого реєстру через ШБО "Трембіта", виконайте передумови, описані на сторінці Налаштування регламенту для надання доступу до даних через SOAP та REST API.
2. Налаштування ШБО
Налаштування показано на прикладі створення точки доступу до бізнес-процесу у реєстрі атестованих лабораторій. |
2.1. Додавання WSDL-файлу
-
Увійдіть до адміністративного інтерфейсу ШБО "Трембіта".
-
Відкрийте меню Клієнти Сервера Безпеки та оберіть необхідну підсистему (
SUBSYSTEM
). -
У розділі клієнта-надавача перейдіть до налаштувань Сервіси SOAP, натиснувши відповідну іконку
та оберіть
Додати WSDL
. -
У новому вікні введіть посилання до WSDL, що буде доступне в SOAP-вебсервісі після розгортання регламенту.
WSDL-файл з описом вебсервісу можна отримати, наприклад, за таким шляхом:
https://bp-webservice-gateway-example-registry.apps.example.com/ws/bpWebservice.wsdl
-
bp-webservice-gateway
— назва API-сервісу, що розгортається разом з реєстром; -
example-registry
— назва вашого реєстру; -
apps.example.com
— DNS-wildcard (домен та піддомени сервера); -
/ws/bpWebservice.wsdl
— ендпоінт, де зберігається WSDL-файл.
-
-
Натисніть кнопку
OK
.
У результаті посилання до відповідного WSDL у списку стане доступним з усіма методами, які можуть бути налаштовані як точки інтеграції із зовнішніми клієнтами.
2.2. Додавання прав доступу до створеного WSDL
Для призначення прав доступу доданому WSDL-файлу, натисніть Права доступу
.
2.3. Додавання об’єкта
Наступним кроком, знаходячись у секції ACL, у пошуковому рядку знайдіть щойно доданий вебсервіс за його назвою та натисніть Додати об’єкти
, як зображено нижче.
2.4. Вимкнення перевірки сертифіката TLS
Наступним кроком, вимкніть перевірку сертифіката TLS, деактивувавши параметр Підтвердження сертифіката TLS
, та натисніть OK
.
2.5. Створення файлу WSDL із даними "Трембіта"
Далі необхідно створити файл WSDL із даними "Трембіта" наступного формату:
http://<Адреса ШБО "Трембіта">/wsdl?xRoadInstance=<Екземпляр системи Трембіта>&memberClass=<Тип установи клієнта (GOV)>&memberCode=<Унікальний ідентифікатор клієта (код ЄДРПОУ)>&serviceCode=<Назва сервісу>&subsystemCode=<Назва підсистеми>
2.6. Збереження файлу із WSDL на локальній машині
Наступним кроком необхідно зберегти файл із WSDL на локальній машині.
Файл повинен мати назву response .
|
2.7. Створення запита у додатку SOAP UI
Відкрийте застосунок SOAP UI та створіть запит із цим ендпоінтом, як зображено нижче.
Встановіть застосунок SOAP UI, якщо такого немає на вашому оточенні. |
2.8. Заповнення полів для виклику
Заповніть поля згідно з прикладом в XML-файлі та вкажіть дані запуску бізнес-процесу.
Приклад XML-запита для виклику SOAP-сервісу
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
xmlns:iden="http://x-road.eu/xsd/identifiers"
xmlns:bp="https://gitbud.epam.com/mdtu-ddm/low-code-platform/platform/backend/applications/bp-webservice-gateway">
<soapenv:Header>
<xro:client iden:objectType="SUBSYSTEM">
<iden:xRoadInstance>SEVDEIR-TEST</iden:xRoadInstance>
<iden:memberClass>GOV</iden:memberClass>
<iden:memberCode> Код Учасника </iden:memberCode>
<!--Optional:-->
<iden:subsystemCode>DDMTest_cons</iden:subsystemCode>
</xro:client>
<xro:service iden:objectType="SERVICE">
<iden:xRoadInstance>SEVDEIR-TEST</iden:xRoadInstance>
<iden:memberClass>GOV</iden:memberClass>
<iden:memberCode> Код Учасника </iden:memberCode>
<!--Optional:-->
<iden:subsystemCode>DDMTest_cons</iden:subsystemCode>
<iden:serviceCode>startBp</iden:serviceCode>
</xro:service>
<xro:userId>MDTUDDM</xro:userId>
<xro:id>MDTUDDM</xro:id>
<xro:protocolVersion>4.0</xro:protocolVersion>
</soapenv:Header>
<soapenv:Body>
<bp:startBpRequest>
<businessProcessDefinitionKey>get-lab-accreditation-info</businessProcessDefinitionKey>
<startVariables>
<!--Zero or more repetitions:-->
<entry>
<!--Optional:-->
<key>name</key>
<!--Optional:-->
<value>Тестова лабораторія №1</value>
</entry>
<entry>
<!--Optional:-->
<key>edrpou</key>
<!--Optional:-->
<value>12345678</value>
</entry>
</startVariables>
</bp:startBpRequest>
</soapenv:Body>
</soapenv:Envelope>