Быстрый старт
Используйте сценарии быстрого старта для пошагового создания и настройки REST- и SOAP-клиента.
Создание REST-клиента
|
В сценарии описывается создание REST-клиента на основе схемы |
-
Перейдите в раздел "Сервисы и Клиенты".
-
Нажмите кнопку
Add Service. -
Выберите тип клиента
REST::OPENAPI::CLIENT. -
Заполните обязательные поля:
Поле Значение Описание General → Object IDrest-clientУникальный идентификатор клиента.
Main → Absolute addressАдрес REST-сервиса, к которому клиент будет отправлять запросы.
Main → OpenAPI schemaentaxy-resource://schemas/examples/pets.jsonOpenAPI-схема сервиса, указанного в поле
Absolute address.После добавления сервиса его url становится доступен на странице http://localhost:8181/cxf, на ней отображается список всех сервисов, развернутых на платформе, и ссылки на их конечные точки.
-
Создайте профиль системы
rest-client-systemи добавьте к нему выходной коннектор созданного REST-клиента. -
В точке кастомизации коннектора
pre-output:-
Вставьте в метод POST тело сообщения:
<m:operation name="post"> <!-- path: /; verb: POST; operationId: post--> <m:log message="Called operation: ${headers.operationName}" loggingLevel="INFO"/> <setBody> <constant> { "id": 1001, "name": "Murzik", "photoUrls": [ "https://example.com/images/murzik-1.jpg", "https://example.com/images/murzik-2.jpg" ], "status": "available", "category": { "id": 1, "name": "Cats" }, "tags": [ { "id": 101, "name": "domestic" }, { "id": 102, "name": "vaccinated" } ] } </constant> </setBody> </m:operation>
-
-
В точке кастомизации коннектора
postprocessдобавьте вывод тела ответного сообщения в лог:<m:log message="${body}"/> -
Перейдите в подраздел "Маршруты выходного коннектора".
-
Добавьте маршрут
Timerи заполните параметры:Поле Значение Описание General → Route IDclient-timerУникальный идентификатор маршрута таймера.
General → Timer Nameclient-timerИмя таймера, который запускает маршрут.
Consumer → Repeat Count2Количество запусков маршрута.
-
Нажмите кнопку
Add, чтобы добавить маршрут. -
В маршрут таймера добавьте вызов системы rest-client-system:
<m:dynamic-system> <m:systemName><constant>rest-client-system</constant></m:systemName> </m:dynamic-system>Подробнее про тег dynamic-system.
-
Нажмите
Save all, чтобы сохранить маршрут. -
Убеждаемся в успешном получении ответа от сервиса:
14:07:05.100 INFO [default-workqueue-3] { "id": 1001, "name": "Murzik", "photoUrls": [ "https://example.com/images/murzik-1.jpg", "https://example.com/images/murzik-2.jpg" ], "status": "available", "category": { "id": 1, "name": "Cats" }, "tags": [ { "id": 101, "name": "domestic" }, { "id": 102, "name": "vaccinated" } ] }
Создание SOAP-клиента
|
В сценарии описывается создание SOAP-клиента на основе схемы |
-
Перейдите в раздел "Сервисы и Клиенты".
-
Нажмите кнопку
Add Service. -
Выберите тип клиента
SOAP::WSDL::CLIENT. -
Заполните обязательные поля:
Поле Значение Описание General → Object IDsoap-clientУникальный идентификатор клиента.
Main → Absolute addressАдрес SOAP-сервиса, к которому клиент будет отправлять запросы.
Main → WSDL schemaschemas:uniform-service/soap-passive.wsdlWSDL-файл с описанием интерфейса SOAP-сервиса.
Main → Data FormatCXF_MESSAGEФормат обработки SOAP-сообщений через CXF.
-
Нажмите кнопку
Add, чтобы добавить клиент.После добавления сервиса его url становится доступен на странице http://localhost:8181/cxf, на ней отображается список всех сервисов, развернутых на платформе, и ссылки на их конечные точки.
Проверка SOAP-клиента с использованием таймера
-
Создайте профиль системы
soap-client-systemи добавьте к нему выходной коннектор созданного SOAP-клиента. -
В точке кастомизации коннектора
pre-output:-
Вставьте в метод POST тело сообщения:
<m:set-operation>PutPackets</m:set-operation> <m:operation-router> <m:operation name="PutPackets"> <m:log message="Called operation: ${headers.operationName}" loggingLevel="INFO"/> <setBody> <constant> <![CDATA[ <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.entaxy.ru/ExchangeTypes/1.0"> <soapenv:Header/> <soapenv:Body> <ns:packets> <ns:packet> <ns:id>7b9f3d1e-5a2c-4b8a-9d6e-1f3a5b7c9e1d</ns:id> <ns:sender>Test_System_1C</ns:sender> <ns:receiver>Test_System_CRM</ns:receiver> <ns:payload>Тестовые данные для проверки интеграции</ns:payload> </ns:packet> </ns:packets> </soapenv:Body> </soapenv:Envelope> ]]> </constant> </setBody> </m:operation> </m:operation-router>
-
-
В точку кастомизации коннектора
postprocessдобавьте вывод тела ответного сообщения в лог:<m:log message="${body}"/> -
Нажмите кнопку
Add, чтобы добавить коннектор. -
Перейдите в подраздел "Маршруты выходного коннектора".
-
Добавьте маршрут
Timerи заполните параметры:Поле Значение Описание General → Route IDclient-timerУникальный идентификатор маршрута таймера.
General → Timer Nameclient-timerИмя таймера, который запускает маршрут.
Consumer → Repeat Count2Количество запусков маршрута.
-
Нажмите кнопку
Add, чтобы добавить маршрут. -
В маршрут таймера добавьте вызов системы soap-client-system:
<m:dynamic-system> <m:systemName><constant>soap-client-system</constant></m:systemName> </m:dynamic-system>Подробнее про тег dynamic-system.
-
Нажмите
Save all, чтобы сохранить маршрут. -
Убеждаемся в успешном получении ответа от сервиса:
17:46:52.230 INFO [Thread-596] <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.entaxy.ru/ExchangeTypes/1.0"> <soapenv:Header/> <soapenv:Body> <ns:packets> <ns:packet> <ns:id>7b9f3d1e-5a2c-4b8a-9d6e-1f3a5b7c9e1d</ns:id> <ns:sender>Test_System_1C</ns:sender> <ns:receiver>Test_System_CRM</ns:receiver> <ns:payload>Тестовые данные для проверки интеграции</ns:payload> </ns:packet> </ns:packets> </soapenv:Body> </soapenv:Envelope>