Реєстрація API-ендпоінтів у ШБО "Трембіта": активація та виклик бізнес-процесів

1. Передумови

  1. Отримайте доступ до інтерфейсу ШБО "Трембіта". Для цього зверніться до адміністратора інфраструктури, де розгорнуто ШБО. Він має видати вам IP-адресу та порт, а також логін та пароль для автентифікації.

  2. Запросіть IP-адресу сервера ШБО "Трембіта" для забезпечення whitelisting між сервісами реєстру та ШБО. Додайте отриману IP-адресу до списку дозволених. Наприклад, 172.16.0.0.

    Whitelisting налаштовується на рівні конфігурації ШБО "Трембіта" в адміністративній панелі Control Plane.

    Детальніше про це — див. на сторінці Обмеження доступу на рівні IP до SOAP-роутів ШБО "Трембіта".

  3. Для того, щоб інші реєстри на Платформі або зовнішні системи могли звернутися до бізнес-процесів вашого реєстру через ШБО "Трембіта", виконайте передумови, описані на сторінці Налаштування регламенту для надання доступу до даних через SOAP та REST API.

2. Налаштування ШБО

Налаштування показано на прикладі створення точки доступу до бізнес-процесу у реєстрі атестованих лабораторій.

2.1. Додавання WSDL-файлу

  1. Увійдіть до адміністративного інтерфейсу ШБО "Трембіта".

  2. Відкрийте меню Клієнти Сервера Безпеки та оберіть необхідну підсистему (SUBSYSTEM).

    trembita add wsdl step 1

  3. У розділі клієнта-надавача перейдіть до налаштувань Сервіси SOAP, натиснувши відповідну іконку soap config та оберіть Додати WSDL.

    trembita bp invoking 1

  4. У новому вікні введіть посилання до 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-файл.

  5. Натисніть кнопку OK.

    trembita add wsdl step 2

У результаті посилання до відповідного WSDL у списку стане доступним з усіма методами, які можуть бути налаштовані як точки інтеграції із зовнішніми клієнтами.

trembita add wsdl step 4

2.2. Додавання прав доступу до створеного WSDL

Для призначення прав доступу доданому WSDL-файлу, натисніть Права доступу.

trembita bp invoking 2

2.3. Додавання об’єкта

Наступним кроком, знаходячись у секції ACL, у пошуковому рядку знайдіть щойно доданий вебсервіс за його назвою та натисніть Додати об’єкти, як зображено нижче.

trembita bp invoking 3

2.4. Вимкнення перевірки сертифіката TLS

Наступним кроком, вимкніть перевірку сертифіката TLS, деактивувавши параметр Підтвердження сертифіката TLS, та натисніть OK.

trembita bp invoking 4

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, якщо такого немає на вашому оточенні.

trembita bp invoking 5

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>

2.9. Надсилання запита

Насамкінець надішліть сформований SOAP-запит на сервіс.

trembita bp invoking 6