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!".
-
Сервис удален. Он больше не будет отображаться в списке сервисов.