SOAP-сервис на основе WSDL

На платформе Entaxy вы можете создать два типа сервисов: SOAP-сервис на основе WSDL и REST-сервис на основе OpenAPI (YAML/JSON). Выбор между ними зависит от требований проекта и предпочтений в использовании соответствующих технологий.

Ниже представлено руководство по созданию SOAP сервиса, реализованного с использованием протокола SOAP и использующего стандарт WSDL для описания своего интерфейса.

Загрузка и управление файлами WSDL

Для создания сервиса требуется файл в формате WSDL с описанием API. Его необходимо загрузить в подраздел schemas раздела Ресурсы. Подробнее о ресурсах - Ресурсы. Структура и назначение.

resources schemas empty

Чтобы загрузить созданный .wsdl файл на платформу, выполните следующие шаги:

  1. В навигационном меню найдите раздел Ресурсы.

  2. Внутри раздела Ресурсы найдите подраздел schemas и перейдите на вкладку Resources.

  3. Используйте окно открывшейся вкладки, чтобы переместить в него ваш WSDL файл.

  4. Появится подтверждающее сообщение о том, что файл успешно загружен: "File <file_name> was successfully uploaded."

  5. WSDL файл будет сохранен в подразделе schemas. Вы можете использовать его для создания сервисов.

    wsdl schemas

Характеристики WSDL

Загрузив WSDL-файл на платформу вы можете перейти на вкладку wsdl для просмотра для просмотра информации о сервисе.

wsdl info

Поддерживаемые типы WSDL-based SOAP-сервисов

soap service create
  1. SERVICE :: SOAP :: WSDL :: PROTECTED (защищенный SOAP-сервис)

    При создании защищенного сервиса требуется подключение входного коннектора.

    При создании SOAP-сервиса в режиме PROTECTED автоматически создается соответствующий входной коннектор, обеспечивающий безопасное взаимодействие с сервисом.

    При удалении защищенного SOAP-сервиса необходимо учесть - если входной коннектор уже был добавлен к профилю, то для корректного удаления сервиса необходимо сначала удалить коннектор.

    connector soap
  2. SERVICE :: SOAP :: WSDL :: PUBLIC (публичный SOAP-сервис)

    При создании публичного сервиса подключение входного коннектора не требуется, взаимодействие с шиной происходит с использованием кастомного маршрута, создаваемого при заведении сервиса.

Параметры SOAP-сервиса (protected/public)

emptysoapgeneral

General

Параметр Описание

*Factory

Идентификатор используемой фабрики. Обязательный параметр с предустановленным значением - SOAP :: WSDL :: PROTECTED

*Object Id

Уникальный идентификатор сервиса, может содержать только латинские буквы, цифры и дефис, и должно начинаться с буквы. Минимальная длина - 3 символа.

Display Name

Отображаемое имя сервиса. Необязательное поле.

Description

Краткое описание сервиса.

emptysoapredelivery

Redelivery policy

Настройка обработки ошибок и повторной доставки сообщений. Подробнее ознакомиться можно здесь.

emptysoaproute
addroute

Routes

  • AGGREGATOR
    Маршрут для агрегирования нескольких сообщений на основе заданных критериев.

  • QUARTZ
    Маршрут используется для планирования задач с помощью Quartz Scheduler. Он позволяет запускать маршруты на основе расписания, которое можно настроить с помощью Cron выражений или простых интервалов времени.

  • ROUTE-CALLABLE
    Маршрут для выполнения настраиваемых логик и операций, позволяющий вызывать различные функции и взаимодействовать с внешними системами.

  • TIMER
    Маршрут предназначен для создания периодических событий. Он позволяет запускать маршруты через заданные интервалы времени, такие как каждая секунда, минута или час, без необходимости использования внешних планировщиков или триггеров.

emptysoapmain

Main

Параметр Описание

Generating logging key (чек-бокс)

Активируйте этот параметр, чтобы автоматически создавать ключ для логирования, который будет использоваться для отслеживания процесса обработки запросов.

*Address

Адрес публикации сервиса в рамках шины. Указывает, по какому адресу сервис будет доступен для взаимодействия с другими компонентами системы. Если поле не заполнять, оно будет сгенерировано автоматически на основе Service Id (идентификатор сервиса).

*WSDL schema

Загрузка WSDL файла. Для загрузки нажать "Select" и выбрать предварительно загруженный на платформу WSDL файл. В открывшемся окне выбрать .wsdl файл и нажать кнопку "Select".

*Service Full Name

Полное имя выбранного сервиса из WSDL ресурса.

*Port

Параметр с указанием порта для выбранного сервиса.

*Data Format

Поддерживаемые типы данных:

PAYLOAD:
простой текстовый или бинарный формат данных без SOAP обертки. Позволяет передавать данные в произвольном формате (например, JSON или XML) без дополнительной обработки.

CXF_MESSAGE:
представляет SOAP-сообщение как объект типа "org.apache.cxf.message.Message". Обеспечивает высокоуровневый доступ и манипуляцию с SOAP-сообщениями, включая изменение заголовков или содержимого.

*MTOM Enabled (чек-бокс)

Чек-бокс указывающий, включено ли использование MTOM (Message Transmission Optimization Mechanism) для передачи бинарных данных в SOAP-сообщениях.

*Schema Validation Enabled (чек-бокс)

Чек-бокс указывающий, происходит ли проверка схемы для входящих/исходящих сообщений. Если включен, сообщения будут проверяться на соответствие XML-схеме. Если сообщение не соответствует ожидаемой структуре или типам данных, будет сгенерировано исключение с сообщением об ошибке.

*Operation Router

Редактируемый параметр маршрутизации данных на основе загруженного WSDL-файла.

emptysoapsecurity

Security

Параметр

Описание

*Authorization realm

Определяет реалм авторизации для сервиса, связывая его с соответствующими настройками безопасности.

*Public Service Schema

Параметр, который позволяет сервису предоставить публичный доступ к своей схеме данных.

*Restrict access by roles

Чек-бокс, позволяющий ограничивать доступ к сервису на основе ролей.

*Roles allowed to access

Перечень ролей, которым разрешен доступ к сервису.

См. также подробное описание Безопасность.

Создать SOAP сервис

  1. Для создания SOAP-сервиса перейдите в раздел Сервисы, затем откройте вкладку Services и нажмите на кнопку "Add Service".

    service navigation
  2. Вам будет предложено выбрать тип SOAP-сервиса: защищенный (protected) или публичный (public). Выберите нужный и нажмите кнопку "Next".

  3. В открывшемся окне вы увидите перечень параметров. Параметры SOAP-сервиса (protected/public) Заполните обязательные параметры и нажмите кнопку "Add".

    create soap protected general
    create soap protected main
    create soap protected security
  4. После выполнения этих действий сервис будет успешно создан.

    create soap protected done

Просмотреть список созданных сервисов

  • Перейдите в раздел "Сервисы", затем откройте вкладку "Services".

  • На этой вкладке вы увидите таблицу с информацией о созданных сервисах.

Таблица содержит следующие столбцы:

  • Name: уникальное имя созданного сервиса.

  • Status: текущий статус сервиса. Например, "Active" или "Resolved".

  • Actions: содержит кнопки для управления сервисом: Start (запуск сервиса), Stop (остановка сервиса), Edit (редактирование свойств сервиса).

    • View Properties: просмотр свойств сервиса.

    • Uninstall: удаление сервиса.

      service soap actions

Если вы хотите найти конкретный сервис по имени или статусу, используйте фильтр. Введите имя сервиса или выберите нужный статус в соответствующем поле фильтра. Таблица автоматически обновится, чтобы показать только результаты соответствующие поиску.

Остановить сервис

  1. На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.

  2. Нажмите кнопку Stop.

  3. Сервис будет остановлен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".

  4. В столбце "Status" сервиса должно отображаться "Resolved", подтверждая успешную остановку.

    stop soap

Запустить сервис

  1. На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.

  2. Нажмите кнопку Start.

  3. Сервис будет запущен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".

  4. В столбце "Status" сервиса должно отображаться "Active", подтверждая успешный запуск.

    start soap

Удалить сервис

Если входной коннектор (созданный при настройке защищенного сервиса) уже был добавлен к профилю, то для корректного удаления сервиса необходимо сначала удалить этот коннектор.

  1. На вкладке "Services" в строке соответствующего сервиса найдите столбец "Actions", в котором находятся кнопки управления сервисом.

  2. Нажмите кнопку Uninstall.

  3. Появится сообщение с просьбой подтвердить удаление сервиса. Убедитесь, что вы действительно хотите удалить сервис, так как эту операцию нельзя отменить.

  4. Подтвердите удаление, выбрав Confirm или отмените удаление, выбрав Cancel.

  5. В случае подтверждения появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".

  6. Сервис удален. Он больше не будет отображаться в списке сервисов.

    uninstall soap