SOAP-сервис на основе WSDL
На платформе Entaxy вы можете создать два типа сервисов: SOAP-сервис на основе WSDL и REST-сервис на основе OpenAPI (YAML/JSON). Выбор между ними зависит от требований проекта и предпочтений в использовании соответствующих технологий.
Ниже представлено руководство по созданию SOAP сервиса, реализованного с использованием протокола SOAP и использующего стандарт WSDL для описания своего интерфейса.
Загрузка и управление файлами WSDL
Для создания сервиса требуется файл в формате WSDL с описанием API.
Его необходимо загрузить в подраздел schemas
раздела Ресурсы
.
Подробнее о ресурсах - Ресурсы. Структура и назначение.
Чтобы загрузить созданный .wsdl файл на платформу, выполните следующие шаги:
-
В навигационном меню найдите раздел
Ресурсы
. -
Внутри раздела
Ресурсы
найдите подразделschemas
и перейдите на вкладкуResources
. -
Используйте окно открывшейся вкладки, чтобы переместить в него ваш WSDL файл.
-
Появится подтверждающее сообщение о том, что файл успешно загружен: "File <file_name> was successfully uploaded."
-
WSDL файл будет сохранен в подразделе
schemas
. Вы можете использовать его для создания сервисов.
Характеристики WSDL
Загрузив WSDL-файл на платформу вы можете перейти на вкладку wsdl
для просмотра для просмотра информации о сервисе.
Поддерживаемые типы WSDL-based SOAP-сервисов
-
SERVICE :: SOAP :: WSDL :: PROTECTED (защищенный SOAP-сервис)
При создании защищенного сервиса требуется подключение входного коннектора.
При создании SOAP-сервиса в режиме PROTECTED автоматически создается соответствующий входной коннектор, обеспечивающий безопасное взаимодействие с сервисом.
При удалении защищенного SOAP-сервиса необходимо учесть - если входной коннектор уже был добавлен к профилю, то для корректного удаления сервиса необходимо сначала удалить коннектор.
-
SERVICE :: SOAP :: WSDL :: PUBLIC (публичный SOAP-сервис)
При создании публичного сервиса подключение входного коннектора не требуется, взаимодействие с шиной происходит с использованием кастомного маршрута, создаваемого при заведении сервиса.
Параметры SOAP-сервиса (protected/public)
General
Параметр | Описание |
---|---|
*Factory |
Идентификатор используемой фабрики. Обязательный параметр с предустановленным значением - |
*Object Id |
Уникальный идентификатор сервиса, может содержать только латинские буквы, цифры и дефис, и должно начинаться с буквы. Минимальная длина - 3 символа. |
Display Name |
Отображаемое имя сервиса. Необязательное поле. |
Description |
Краткое описание сервиса. |
Redelivery policy
Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.
Routes
-
AGGREGATOR
Маршрут для агрегирования нескольких сообщений на основе заданных критериев. -
QUARTZ
Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени. -
ROUTE-CALLABLE
Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами. -
TIMER
Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.
Main
Параметр | Описание |
---|---|
Generating logging key (чек-бокс) |
Активируйте этот параметр, чтобы автоматически создавать ключ для логирования, который будет использоваться для отслеживания процесса обработки запросов. |
*Address |
Адрес публикации сервиса в рамках шины. Указывает, по какому адресу сервис будет доступен для взаимодействия с другими компонентами системы. Если поле не заполнять, оно будет сгенерировано автоматически на основе Service Id (идентификатор сервиса). |
*WSDL schema |
Загрузка WSDL файла. Для загрузки нажать "Select" и выбрать предварительно загруженный на платформу WSDL файл. В открывшемся окне выбрать .wsdl файл и нажать кнопку "Select". |
*Service Full Name |
Полное имя выбранного сервиса из WSDL ресурса. |
*Port |
Параметр с указанием порта для выбранного сервиса. |
*Data Format |
Поддерживаемые типы данных: PAYLOAD: CXF_MESSAGE: |
*MTOM Enabled (чек-бокс) |
Чек-бокс указывающий, включено ли использование MTOM (Message Transmission Optimization Mechanism) для передачи бинарных данных в SOAP-сообщениях. |
*Schema Validation Enabled (чек-бокс) |
Чек-бокс указывающий, происходит ли проверка схемы для входящих/исходящих сообщений. Если включен, сообщения будут проверяться на соответствие XML-схеме. Если сообщение не соответствует ожидаемой структуре или типам данных, будет сгенерировано исключение с сообщением об ошибке. |
*Operation Router |
Редактируемый параметр маршрутизации данных на основе загруженного WSDL-файла. |
Security
Параметр |
Описание |
*Authorization realm |
Определяет реалм авторизации для сервиса, связывая его с соответствующими настройками безопасности. |
*Public Service Schema |
Параметр, который позволяет сервису предоставить публичный доступ к своей схеме данных. |
*Restrict access by roles |
Чек-бокс, позволяющий ограничивать доступ к сервису на основе ролей. |
*Roles allowed to access |
Перечень ролей, которым разрешен доступ к сервису. |
См. также подробное описание Безопасность.
Создать SOAP сервис
-
Для создания SOAP-сервиса перейдите в раздел
Сервисы
, затем откройте вкладкуServices
и нажмите на кнопку "Add Service". -
Вам будет предложено выбрать тип SOAP-сервиса: защищенный (protected) или публичный (public). Выберите нужный и нажмите кнопку "Next".
-
В открывшемся окне вы увидите перечень параметров. Параметры SOAP-сервиса (protected/public) Заполните обязательные параметры и нажмите кнопку "Add".
-
После выполнения этих действий сервис будет успешно создан.
Просмотреть список созданных сервисов
-
Перейдите в раздел "Сервисы", затем откройте вкладку "Services".
-
На этой вкладке вы увидите таблицу с информацией о созданных сервисах.
Таблица содержит следующие столбцы:
-
Name: уникальное имя созданного сервиса.
-
Status: текущий статус сервиса. Например, "Active" или "Resolved".
-
Actions: содержит кнопки для управления сервисом: Start (запуск сервиса), Stop (остановка сервиса), Edit (редактирование свойств сервиса).
-
View Properties: просмотр свойств сервиса.
-
Uninstall: удаление сервиса.
-
Если вы хотите найти конкретный сервис по имени или статусу, используйте фильтр. Введите имя сервиса или выберите нужный статус в соответствующем поле фильтра. Таблица автоматически обновится, чтобы показать только результаты соответствующие поиску.
Остановить сервис
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Stop.
-
Сервис будет остановлен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" сервиса должно отображаться "Resolved", подтверждая успешную остановку.
Запустить сервис
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Start.
-
Сервис будет запущен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" сервиса должно отображаться "Active", подтверждая успешный запуск.
Удалить сервис
Если входной коннектор (созданный при настройке защищенного сервиса) уже был добавлен к профилю, то для корректного удаления сервиса необходимо сначала удалить этот коннектор. |
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Uninstall.
-
Появится сообщение с просьбой подтвердить удаление сервиса. Убедитесь, что вы действительно хотите удалить сервис, так как эту операцию нельзя отменить.
-
Подтвердите удаление, выбрав Confirm или отмените удаление, выбрав Cancel.
-
В случае подтверждения появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
Сервис удален. Он больше не будет отображаться в списке сервисов.