SOAP-сервис на основе WSDL
На платформе Entaxy вы можете создать два типа сервисов: SOAP и REST. Выбор между ними зависит от требований проекта и предпочтений в использовании соответствующих технологий.
Ниже представлено руководство по созданию SOAP сервиса, реализованного с использованием протокола SOAP и использующего стандарт WSDL для описания своего интерфейса.
Загрузка и управление файлами WSDL
Для создания сервиса требуется файл в формате WSDL с описанием API.
Его необходимо загрузить в подраздел schemas
раздела Ресурсы
.
Подробнее о ресурсах - Ресурсы. Структура и назначение.
Чтобы загрузить созданный .wsdl файл на платформу, выполните следующие шаги:
-
В навигационном меню найдите раздел
Ресурсы
(Resources). -
Внутри раздела
Ресурсы
найдите подразделСхемы
(Schemas) и перейдите на вкладкуResources
. -
Используйте окно открывшейся вкладки, чтобы переместить в него ваш WSDL файл.
-
Появится подтверждающее сообщение о том, что файл успешно загружен: "File <file_name> was successfully uploaded."
-
WSDL файл будет сохранен в папке Resources - schemas. Вы можете использовать его для создания сервисов.
Характеристики WSDL
После успешной загрузки WSDL-файла на платформу вы можете выбрать загруженный файл и перейти на вкладку "wsdl", для просмотра информации о сервисе.
Описание параметров:
-
Object:
-
portName: имя порта;
-
operations: доступные операции/методы;
-
serviceName: имя сервиса;
-
serviceNamespace: url-адрес, определяющий пространство имен XML;
-
serviceResourcesRoot: корневой путь к ресурсам сервиса. Указанный путь находится в подразделе "service-resources";
-
Ports: массив доступных портов;
-
Services: массив содержащий информацию о доступных сервисах.
-
Поддерживаемые типы WSDL-based SOAP-сервисов
-
SERVICE :: SOAP :: WSDL :: PROTECTED (защищенный SOAP-сервис)
При создании защищенного сервиса требуется подключение входного коннектора. ВАЖНО! При создании SOAP-сервиса в режиме PROTECTED автоматически создается соответствующий входной коннектор, обеспечивающий безопасное взаимодействие с сервисом.
-
SERVICE :: SOAP :: WSDL :: PUBLIC (публичный SOAP-сервис)
При создании публичного сервиса подключение входного коннектора не требуется, взаимодействие с шиной происходит с использованием кастомного маршрута, создаваемого при заведении сервиса.
Параметры SOAP-сервиса (protected/public)
-
Общие (general):
Все параметры являются обязательными.
-
Factory Id: идентификатор фабрики создаваемого сервиса. Предустановлен.
-
Service Id: идентификатор сервиса (имя сервиса). Поле для назначения уникального имени создаваемому сервису. Системное имя может содержать только латинские буквы, цифры и дефис, и должно начинаться с буквы. Минимальная длина системного имени 3 символа.
-
-
Основные (main):
Все параметры являются обязательными, однако, при загрузке wsdl-файла они будут автоматически заполнены значениями по умолчанию, при необходимости их можно отредактировать.
-
Address: адрес публикации сервиса в рамках шины. Указывает, по какому адресу сервис будет доступен для взаимодействия с другими компонентами системы. Если поле не заполнять, оно будет сгенерировано автоматически на основе Serivce Id (идентификатор сервиса).
-
WSDL schema: загрузка WSDL файла. Для загрузки нажать "Select" и выбрать предварительно загруженный на платформу WSDL файл. В открывшемся окне выбрать .wsdl файл и нажать кнопку "Select".
-
Public Service Schema: параметр, который позволяет сервису предоставить публичный доступ к своей схеме данных, даже если для доступа к остальным ресурсам требуется аутентификация.
-
Service Full Name: параметр указания полного имени выбранного сервиса из WSDL файла.
-
Port: параметр с указанием порта для выбранного сервиса.
-
Enable Authorization. Только для публичного SOAP-сервиса (WSDL-based SOAP service public): чек-бокс указывающий требуется ли авторизация для доступа к сервису.
-
Data Format: поддерживаемые типы данных. Каждый из этих форматов имеет свои особенности и применение, и выбор зависит от конкретных требований вашего проекта.
-
PAYLOAD: простой текстовый или бинарный формат данных без SOAP обертки. Позволяет передавать данные в произвольном формате (например, JSON или XML) без дополнительной обработки.
-
RAW: передача данных в необработанном виде, без изменений и обработки CXF или Camel. Представляет полный контроль над содержимым.
-
MESSAGE: позволяет работать с SOAP-сообщениями на низком уровне, предоставляя доступ к заголовкам и телу сообщения.
-
CXF_MESSAGE: представляет SOAP-сообщение как объект типа "org.apache.cxf.message.Message". Обеспечивает высокоуровневый доступ и манипуляцию с SOAP-сообщениями, включая изменение заголовков или содержимого.
-
POJO: работа с данными в формате Plain Old Java Objects (POJO). Автоматическое преобразование объектов Java в SOAP-сообщения и наоборот, облегчая обмен данными.
-
-
MTOM Enabled: чек-бокс указывающий, включено ли использование MTOM (Message Transmission Optimization Mechanism) для передачи бинарных данных в SOAP-сообщениях .
-
Schema Validation Enabled: чек-бокс указывающий, происходит ли проверка схемы для входящих/исходящих сообщений.
Если чек-бокс Schema Validation Enabled включен, сообщения будут проверяться на соответствие XML-схеме. Если сообщение не соответствует ожидаемой структуре или типам данных, будет сгенерировано исключение с сообщением об ошибке.
Operation Router: редактируемый параметр маршрутизации данных на основе загруженного WSDL-файла.
-
Создать SOAP сервис:
-
Для создания SOAP-сервиса перейдите в раздел "Сервисы", затем откройте вкладку "Services" и нажмите на кнопку "Add Service".
-
Вам будет предложено выбрать тип SOAP-сервиса: защищенный (protected) или публичный (public). Выберите нужный и нажмите кнопку "Next".
-
В открывшемся окне вы увидите перечень обязательных параметров. Параметры SOAP-сервиса (protected/public) Заполните поля в обоих подразделах "General" и "Main", затем нажмите кнопку "Add".
-
После выполнения этих действий сервис будет успешно создан.
Просмотреть список созданных сервисов
-
Перейдите в раздел "Сервисы", затем откройте вкладку "Services".
-
На этой вкладке вы увидите таблицу с информацией о созданных сервисах.
Таблица содержит следующие столбцы:
-
Name: отображает уникальные имена созданных сервисов.
-
Status: указывает текущий статус каждого сервиса, например, "Active" или "Resolved".
-
Actions: содержит кнопки для управления сервисом: Start, Stop, Uninstall.
-
View Properties: кнопка для просмотра свойств выбранного сервиса.
-
Edit Properties: кнопка для редактирования свойств выбранного сервиса.
-
Если вы хотите найти конкретный сервис по имени или статусу, используйте фильтр в таблице. Введите имя сервиса или выберите нужный статус в соответствующем поле фильтрации. Таблица автоматически обновится, чтобы показать только соответствующие результаты.
Остановить сервис
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Action", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Stop.
-
Сервис будет остановлен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" сервиса должно отображаться "Resolved", подтверждая успешную остановку.
Запустить сервис
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Action", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Start.
-
Сервис будет запущен. Появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
В столбце "Status" сервиса должно отображаться "Active", подтверждая успешный запуск.
Удалить сервис
-
На вкладке "Services" в строке соответствующего сервиса найдите столбец "Action", в котором находятся кнопки управления сервисом.
-
Нажмите кнопку Uninstall.
-
Появится сообщение с просьбой подтвердить удаление сервиса. Убедитесь, что вы действительно хотите удалить сервис, так как эту операцию нельзя отменить.
-
Подтвердите удаление, выбрав Confirm или отмените удаление, выбрав Cancel.
-
В случае подтверждения появится подтверждающее сообщение о том, что операция выполнена успешно: "Operation Succeeded!".
-
Сервис удален. Он больше не будет отображаться в списке сервисов.