Реєстрація 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-роутів ШБО "Трембіта".
-
Для того, щоб інші реєстри на Платформі або зовнішні системи могли звернутися до бізнес-процесів вашого реєстру через ШБО "Трембіта", виконайте передумови, описані на сторінці Налаштування авторизації: розмежування доступу до бізнес-процесів та API-представлень реєстру через SOAP та REST.
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. У цьому контексті, використовуючи пошуковий рядок, легко ідентифікуйте нещодавно створений вебсервіс за його унікальною назвою. Для цього, просто натисніть кнопку Додати об’єкти
, щоб перейти до налаштування прав доступу, як це ілюструється на зображенні нижче.
У цьому прикладі основна увага приділяється налаштуванню доступу до однієї конкретної точки доступу до API бізнес-процесів — startBp
. Слід зауважити, що ця конкретна точка інтеграції наразі використовується здебільшого для забезпечення зворотної сумісності, оперуючи на принципах уніфікованого доступу через єдиний обліковий запис trembita-invoker і спільну системну роль trembita-invoker
.
Однак, з прийняттям стратегії розмежування доступу та введенням множинності ролей, ви отримуєте можливість деталізувати доступ до кожної індивідуальної сервісної точки. Це означає, що ви можете мати декілька окремих точок інтеграції, таких як startBp1
, startBp2
, startBp3
і так далі, кожна з яких може бути налаштована з власним набором прав доступу. Цей процес вимагає ретельного планування та налаштування, що дозволяє точно визначати, хто має доступ до яких бізнес-процесів через API.
Принцип створення декількох точок доступу детальніше описаний на сторінці, присвяченій налаштуванню API-сервісів даних: Реєстрація сервісів та виклик API дата-фабрики через ШБО "Трембіта". |
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>