Клиент SOAP-сервиса на основе WSDL
На платформе Entaxy вы можете создать клиентов двух типов: Клиент SOAP-сервиса на основе WSDL (с поддержкой службы аутентификации и авторизации Java (JAAS)) и Клиент REST-сервиса на основе OpenAPI (с поддержкой службы аутентификации и авторизации Java (JAAS) и OAuth авторизации*). Выбор между ними зависит от требований проекта и предпочтений в использовании соответствующих технологий.
|
*Текущая версия модуля OAuth разработана под сервер авторизации Keycloak, но может быть сконфигурирована под работу с другими серверами авторизации. |
Ниже представлено руководство по созданию и настройке SOAP-клиента.
Параметры SOAP-клиента
General
| Название | Описание |
|---|---|
Factory |
Идентификатор используемой фабрики с предустановленным значением (SOAP :: WSDL :: CLIENT). |
Object Id |
Уникальный идентификатор клиента. |
Display name |
Отображаемое имя клиента. |
Description |
Поле для краткого описания. |
Redelivery policy
Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.
Routes
-
AGGREGATOR
Маршрут для агрегирования нескольких сообщений на основе заданных критериев. -
LISTENER-QUEUE-ARTEMIS
Маршрут для интеграции с использованием очередей брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов. -
QUARTZ
Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени. -
ROUTE-CALLABLE
Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами. -
SUBSCRIPTION-TOPIC-ARTEMIS
Маршрут для интеграции с использованием подписки на топики брокера сообщений ActiveMQ Artemis, с прослушиванием и обработкой сообщений в рамках интеграционных маршрутов. -
TIMER
Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.
Main
| Название | Описание |
|---|---|
Absolute address |
Полный URL адрес публикации SOAP-сервиса в рамках шины по которому будут отправляться запросы. |
WSDL schema |
Загрузка WSDL файла. Для загрузки нажать "Select" и выбрать предварительно загруженный на платформу WSDL файл. В открывшемся окне выбрать .wsdl файл и нажать кнопку "Select". |
Service Full Name |
Полное имя выбранного сервиса из WSDL ресурса. |
Port |
Параметр с указанием порта для выбранного сервиса. |
Data Format |
Формат данных для обработки: * POJO: Используется для работы с данными в виде Plain Old Java Objects, что позволяет напрямую работать с Java объектами. * ORIGIN: Используется для работы с данными в их исходном виде. |
MTOM Enabled |
Чек-бокс указывающий, включено ли использование MTOM (Message Transmission Optimization Mechanism) для передачи бинарных данных в SOAP-сообщениях. |
Schema Validation Enabled |
Активация проверки тела запроса на соответствие структуре и формату заданной схемы API. |
Operation Router |
Редактируемый параметр маршрутизации данных на основе загруженного YAML/JSON файла. |
Security
| Название | Описание |
|---|---|
Auth Password |
Пароль используемый для аутентификации. |
Auth Username |
Имя пользователя используемое для аутентификации. |
Ssl Context Parameters
| Название | Описание |
|---|---|
Ssl Context Parameters |
Этот параметр используется для настройки безопасности с помощью SSLContextParameters. Вы можете использовать визуальную конфигурацию с базовыми настройками или, если требуется более точная настройка, создать beans и выбрать опцию "custom". |
Header filter
| Название | Описание |
|---|---|
Header Filter Strategy |
Для использования пользовательской стратегии фильтрации заголовков org.apache.camel.spi.HeaderFilterStrategy для фильтрации заголовков в сообщениях Camel. |
Producer
| Название | Описание |
|---|---|
Wrapped |
Чекбокс определяет, будет ли продюсер CXF endpoint вызывать операции типа Wrapped. |
Default Operation Name |
Параметр задает имя операции по умолчанию, которое будет использоваться CxfProducer для вызова удаленного сервиса. |
Default Operation Namespace |
Параметр задает пространство имен операции по умолчанию, которое будет использоваться CxfProducer для вызова удаленного сервиса. |
Lazy Start Producer |
Определяет, следует ли откладывать инициализацию продюсера до момента получения первого сообщения. Ленивый запуск позволяет CamelContext и маршрутам запускаться даже в тех случаях, когда немедленная инициализация продюсера может привести к сбою и прервать запуск маршрута. При ленивой инициализации возможные ошибки можно обработать с помощью маршрутизируемых обработчиков ошибок Camel при первом обращении к продюсеру. Следует учитывать, что инициализация и запуск продюсера при первом сообщении могут занять больше времени, что увеличит общее время обработки. |
Advanced
| Название | Описание |
|---|---|
Allow Streaming |
Чек-бокс определяет, будет ли компонент CXF в режиме PAYLOAD разбирать входящие сообщения в элементы DOM или сохранять данные в виде объекта javax.xml.transform.Source, что в некоторых случаях позволяет использовать потоковую обработку. |
Merge Protocol Headers |
Чек-бокс определяет, следует ли объединять заголовки протокола. Если чек-бокс активирован, передача заголовков между Camel и CXF становится одинаковой. |
Skip Payload Message Part Check |
Чек-бокс определяет, следует ли отключить валидацию SOAP-сообщений. |
Synchronous |
Устанавливает, следует ли строго использовать синхронную обработку, или Camel может использовать асинхронную обработку (если это поддерживается). |
Создать клиент
Для создания SOAP-клиента:
-
Перейдите в раздел Сервисы и Клиенты.
-
Откройте вкладку Services and Clients.
-
Нажмите на кнопку "Add Service".
-
В появившемся окне выберите SOAP-client и нажмите "Next".
-
Заполните необходимые параметры.
Пример заполнения параметров:
-
General:
-
Object Id: укажите уникальный идентификатор клиента.
-
-
Раздел Main:
-
Absolute address: укажите полный URL SOAP-сервиса (например, http://localhost:8181/cxf/soap-service), по которому будут отправляться запросы.
-
WSDL schema: загрузите WSDL-файл, описывающий ресурс. На его основе будет создан клиент.
-
-
Security (при необходимости):
-
Настройте параметры аутентификации, если SOAP-сервис использует JAAS.
Укажите:
-
Auth Username — имя пользователя для аутентификации.
-
Auth Password — пароль для аутентификации.
-
-
-
-
После заполнения всех необходимых параметров нажмите кнопку "Add" для сохранения настроек и создания SOAP-клиента.
После успешного создания SOAP-клиента автоматически создается выходной коннектор клиента.
После подключения выходного коннектора клиента к профилю системы в параметрах pre-output коннектора отображается конфигурация маршрутов операций, доступных через SOAP-клиент.
Она включает:
-
Тег <m:set-operation> - определяющий вызываемую SOAP-клиентом операцию.
Пример:
<m:set-operation>PutPackets</m:set-operation>
Просмотреть список созданных клиентов
-
Перейдите в раздел
Сервисы и Клиенты, затем откройте вкладкуServices and Clients. -
На этой вкладке вы увидите таблицу с информацией о созданных клиентах и сервисах.
Таблица содержит следующие столбцы:
-
Name: уникальное имя созданного клиента.
-
Status: текущий статус клиента.
Например, "Active" или "Resolved". -
Actions: содержит кнопки для управления клиентом: Start (запуск клиента), Stop (остановка клиента), Edit (редактирование свойств клиента).
-
View Properties: просмотр свойств клиента.
-
Uninstall: удаление клиента.
Если вы хотите найти конкретный клиент по имени или статусу, используйте фильтр. Введите имя клиента или выберите нужный статус в соответствующем поле фильтра. Таблица автоматически обновится, чтобы показать только результаты соответствующие поиску.
-
Остановить клиент
-
На вкладке
Services and Clientsв строке соответствующего клиента найдите столбец "Actions", в котором находятся кнопки управления клиентом. -
Нажмите кнопку Stop.
-
Клиент будет остановлен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" клиента должно отображаться "Resolved", подтверждая успешную остановку.
Запустить клиент
-
На вкладке
Services and Clientsв строке соответствующего клиента найдите столбец "Actions", в котором находятся кнопки управления клиентом. -
Нажмите кнопку Start.
-
Клиент будет запущен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" клиента должно отображаться "Active", подтверждая успешный запуск.
Удалить клиент
-
На вкладке
Servicesв строке соответствующего клиента найдите столбец "Actions", в котором находятся кнопки управления клиентом . -
Нажмите кнопку Uninstall.
-
Появится сообщение с просьбой подтвердить удаление клиента. Убедитесь, что вы действительно хотите удалить клиент, так как эту операцию нельзя отменить.
-
Подтвердите удаление, выбрав Confirm или отмените удаление, выбрав Cancel.
-
В случае подтверждения появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
Клиент удален. Он больше не будет отображаться в списке клиентов.