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

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

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

../../_images/image866.png

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

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

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

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

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

{
    "$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": "Внешняя система",
}

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

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

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