Программируемая система
В Платформе есть возможность подключить Программируемую систему. Разработчик на проекте может создать свой собственный тип коннектора и подключить его к программируемой системе.
Чтобы приступить к настройке коннектора, на вкладке Коннектор необходимо выбрать тип Программируемый. После выбора типа коннектора станут доступны поля для ввода характеристик коннектора.
Основные настройки
Из выпадающего списка необходимо выбрать Плагин и Сохранить изменения.
После сохранения появится кнопка Загрузить файл. С её помощью можно добавить дополнительный файл в настройки программируемого коннектора (файл крепится к коннектору, не плагину).
Файл используется настроенным адаптером в работе. Поддерживаются файлы любого формата, но допускается загрузка только одного файла. Если файл не является архивом .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 плагина:
загрузить с помощью кнопки Загрузить файл.
указать путь с помощью параметра Uri.
указать путь с помощью параметра PathToWSDL.
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 между серверным и клиентским плагинами Платформы.
После внесения данных нажать на кнопку Сохранить изменения, после этого нажать на кнопку Применить конфигурацию.