Клиент 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
Маршрут для агрегирования нескольких сообщений на основе заданных критериев. -
QUARTZ
Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени. -
ROUTE-CALLABLE
Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами. -
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!".
-
Клиент удален. Он больше не будет отображаться в списке клиентов.