Программируемая система

В Платформе есть возможность подключить Программируемую систему. Разработчик на проекте может создать свой собственный тип коннектора и подключить его к программируемой системе.

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

../../_images/image866.png

Основные настройки

Из выпадающего списка необходимо выбрать Плагин и Сохранить изменения.

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

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

Общие параметры для программируемых коннекторов:

{
        "$type": "DT.ClusterConfiguration.DtSystem, DT_Core",
        "config": {
                "$type": "DT.ConfigurationRepository.Configuration.Adapter.CustomSystemConfig, DT_ConfigurationRepository",
                "connectorType": "Custom",
                "pluginId": "ee66f2e7-361c-4551-8101-305716e0104a",
                "pluginConfig": "",
                "pluginConfigSecrets": {
                        "$type": "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib"
                },
                "enableWsdlGeneration": false,
                "auth": {
                        "$type": "DT.ClusterConfiguration.AuthenticationConfig, DT_Core",
                        "enabled": false,
                        "usePasswordHash": false
                },
                "handlersList": [],
                "sendingStrategy": ""
        },
        "isActive": true,
        "folderId": "deb6de98-1638-432f-b90f-dc4962adaa99",
        "entityId": "e06f6854-97e0-42fd-917e-8981c56352cb",
        "clusterId": "87e9150f-81fd-4df6-963f-dc40f155dd29",
        "name": "Программируемый",
        "description": "Программируемый",
        "comment": "Комментарий",
        "version": 1,
        "tagsCollection": [],
        "fieldsFromGlobalBusiness": {
                "$type": "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib"
        },
        "className": "System",
        "classNameStr": "Внешняя система",
        "servers": []
}

Основные параметры:

config

  • connectorType (enum): UI настройка Тип (Коннектор), где Custom - Программируемый.

  • pluginId (string): идентификатор подключаемого плагина.

  • pluginConfig (string): конфигурация плагина.

  • enableWsdlGeneration (boolean): включение генерации WSDL, доступно для редактирования.

auth

  • enabled (boolean): включить (true) выключить (false) проверку учётных данных для взаимодействия через коннектор, доступно для редактирования.

  • usePasswordHash (boolean): при значении true для аутентификации требуется передавать не сам пароль, а только хеш от него (SHA256 в шестнадцатеричном формате), доступно для редактирования.

  • handlersList (array): заполняется, если плагин оперирует обработчиками.

  • sendingStrategy (string): UI настройка Правило обработки очередей (Основные).

  • isActive (boolean): UI настройка Включен, где true - внешняя система включена.

  • folderId (string): ID папки.

  • entityId (string): ID Системы, присваивается системно.

  • clusterId (string): ID Кластера, присваивается системно.

  • name (string): UI настройка Имя (Основные).

  • description (string): UI настройка Название (Основные).

  • comment (string): UI настройка Комментарий (Основные).

  • version (integer): номер версии конфигурации.

  • tagsCollection (array): набор тегов, массив.

  • className (enum): тип сервиса.

  • classNameStr (enum): наименование типа сервиса.

  • servers (array): список серверов.

Конфигурация плагина SOAP

В разделе описаны варианты размещения файла, конфигурации для сервера и клиента, применяемые только для плагина SOAP. Для остальных плагинов применимы Основные настройки.

Варианты размещения файла для SOAP плагина:

  1. загрузить с помощью кнопки Загрузить файл.

  2. указать путь с помощью параметра Uri.

  3. указать путь с помощью параметра PathToWSDL.

  4. WSDL генерируется автоматически.

Приоритет отдаётся файлу, загруженному через кнопку Загрузить файл.

Пример конфигурации плагина для сервера:

{
        "Uri": "http://путь_к_wsdl_документу",
        "IsServer": true,
        "ServerPort": 17501,
        "PathToWSDL": "",
        "UseSSL": "true",
        "AuthType": "Basic",
        "IsDebug": "true",
        "CertificateSettings": {
                "Source": "File",
                "Description": "",
                "Thumbprint": "",
                "Path": "путь_к_сертификату",
                "Password": "пароль_сертификата"
        },
        "IngoingConnectionPointMillisecondsTimeout": 180000,
        "ConvertJsonToXml": true,
        "ConvertXmlToJson": true,
        "ThreadCountFromPlatform": 20,
        "NeedValidation": true
}

Пример конфигурации плагина для клиента:

{
        "Uri": "http://путь_к_wsdl_документу",
        "IsServer": false,
        "PathToWSDL": "",
        "AuthType": "Basic",
        "IsDebug": "true",
        "CertificateSettings": {
                "Source": "File",
                "Description": "",
                "Thumbprint": "",
                "Path": "путь_к_сертификату",
                "Password": "пароль_сертификата"
        },
        "ClientSettings": {
                "useDomainAuthentication": "false"
        },
        "IngoingConnectionPointMillisecondsTimeout": 180000,
        "ConvertJsonToXml": true,
        "ConvertXmlToJson": true,
        "ThreadCountFromPlatform": 20,
        "NeedValidation": true
}

Основные параметры:

  • Uri (string): путь к WSDL документу, который может быть опубликован на внешнем сервисе. Настройка как для сервера, так и для клиента.

  • IsServer (boolean): выбор сервера или клиента, если true - плагин запущен в режиме сервера, может отправлять ответное сообщение; если false, то в режиме клиента. Настройка как для сервера, так и для клиента.

  • ServerPort (integer): указывается порт размещённого сервера. Настройка для сервера.

  • PathToWSDL (string): указывается путь к wsdl файлу, если он сохранён локально на машине, опциональный параметр. Настройка как для сервера, так и для клиента.

  • UseSSL (boolean): включение (true) и выключение (false) использования протокола SSL для TCP-соединений между серверами. Настройка для сервера.

  • AuthType (enum): выбор типа авторизации, где:

    • Basic - базовый тип аутентификации, потребуется ввести логин и пароль в соответствующих полях.

    • Anonymous - анонимный тип аутентификации, не требующий настройки дополнительных параметров.

    • Bearer - аутентификация с использованием токена на предъявителя Bearer, потребуется указать имя пользователя и пароль для получения токена аутентификации в конфигурации системы.

  • IsDebug (boolean): настройка дополнительного логирования ошибок, где true - логируются ошибки; false - не логируются. По умолчанию true. Настройка как для сервера, так и для клиента.

  • CertificateSettings (object): блок настройки сертификата. Настройка как для сервера, так и для клиента.

    • Source (string): тип источника для сертификата. На данный момент поддерживается работа только с сертификатами из файловых каталогов.

    • Description (string): описание сертификата, указывается опционально.

    • Thumbprint (string): уникальный идентификатор сертификата.

    • Path (string): указывается путь до файла сертификата.

    • Password (string): указывается пароль для сертификата.

  • ClientSettings (object): дополнительные настройки клиента.

    • useDomainAuthentication (boolean): использование доменной аутентификации, если true - используется. По умолчанию false.

  • IngoingConnectionPointMillisecondsTimeout (integer): время ожидания отклика от входящего подключения, задаётся в миллисекундах. Настройка как для сервера, так и для клиента.

  • ConvertJsonToXml (boolean): включить (true) или выключить (false) преобразование пакета в XML из Json. По умолчанию true. Настройка как для сервера, так и для клиента.

  • ConvertXmlToJson (boolean): включить (true) или выключить (false) преобразование пакета в Json из XML. По умолчанию true. Настройка как для сервера, так и для клиента.

  • ThreadCountFromPlatform (integer): количество потоков в направлении Из Платформы. Настройка как для сервера, так и для клиента.

  • NeedValidation (boolean): включение (true - валидация по WSDL схеме производится) и выключение (false - валидация по WSDL схеме не производится) валидации по WSDL схеме. Настройка как для сервера, так и для клиента.

Диаграмма последовательности обработки SOAP-сообщений с конвертацией форматов XML/JSON между серверным и клиентским плагинами Платформы.

../../_images/image867.png

После внесения данных нажать на кнопку Сохранить изменения, после этого нажать на кнопку Применить конфигурацию.