Каталог решений - HTTP сервер: внешняя компонента для 1С 7.7

HTTP сервер: внешняя компонента для 1С 7.7

HTTP сервер: внешняя компонента для 1С 7.7

В наличии

Компонента позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами.

Категория:

Описание

Компонента разработана по технологии создания внешних компонент COM. Тестировалась на платформе 1С релиза 7.70.027 под управлением Windows 10.

Компонента позволяет запускать HTTP или HTTPS сервер на любом порту.

Протокол HTTPS работает с библиотекой OpenSSL версии 1.0.2 и поддерживает TLS v1.2.

Каждый входящий HTTP-запрос обрабатывается в отдельном потоке. Все запросы регистрируются в общем массиве, размер которого можно устанавливать программно. Каждому запросу для обработки в 1С присваивается числовой идентификатор (ИД). По окончании обработки запрос удаляется из массива.

В зависимости от программных настроек сервера часть запросов может обрабатываться компонентой без участия 1С.

При регистрации запроса (обрабатываемого в 1С) в глобальном модуле 1С вызывается процедура «ОбработкаВнешнегоСобытия», в которую передается ИД нового запроса. Для обработки запросы можно выбирать по конкретному ИД или последовательно перебирая все.

Можно передавать обработку запросов другим экземплярам 1С, созданным как OLE-объекты. Для этого серверу передается имя файла, в который будет выгружен ответ, и время его ожидания. В OLE-экземпляр 1С передается также имя файла-результата и все необходимые параметры запроса. OLE— экземпляр формирует ответ и выгружает его в указанный файл. Как только файл ответа появляется, сервер передает его HTTP-клиенту и удаляет запрос из массива.

Функционал компоненты:

Методы объекта «AddIn.HTTPSrv7»:

Старт(<Порт>, <HTTPS> ) – запускает работу сервера

Стоп() – прекращает работу сервера.

Запрос (<ИД>) – устанавливает запрос с указанным ИД в качестве «текущего». Все команды работы с запросом, чтение и изменение его свойств, работа с ответом выполняются по отношению к «текущему» запросу.

ЗапросВФайл (<ИмяФайла>)  – сохраняет содержание (тело) запроса в файл.

УстановитьЗаголовок (<ИмяЗаголовка>,<Содержание>)  – устанавливает HTTP-заголовок ответа на текущий запрос.

Передать (<Ответ>, <Код>)  – передает ответ с установленными ранее заголовками.

ПередатьФайл (<ИмяФайла>, <Таймаут>)  – передает в качестве тела ответа  содержимое файла.

Utf8ToAnsi (<Стр>)  – конвертирует строку из кодировки Utf8 в ANSI.

AnsiToUtf8 (<Стр>)  – конвертирует строку из кодировки ANSI в Utf8.

Свойства объекта «AddIn.HTTPSrv7» (доступ: чтение+запись):

ДлинаОчереди – максимальное количество одновременно обрабатываемых запросов.

ФайлСерт – имя файла сертификата HTTPS-сервера.

ФайлКлюча – имя файла секретного ключа HTTPS-сервера

ФайлИндекс – имя файла, который будет передаваться компонентой (без обработки в 1С) в ответ на запрос без дополнительных атрибутов (URL = «\»).

КаталогОтправки – корневой каталог для передачи запрашиваемых файлов компонентой без обработки в 1С.

ФайлТипов – имя файла Mime – типов. Файл служит для автоматического формирования заголовков «Content-Type» при автоматической передаче файлов.

ЛогФайл – имя лог-файла..

ТелоОтвета  – содержание ответа на текущий запрос

Свойства объекта «AddIn.HTTPSrv7» (доступ: чтение):

Активен – число, 1 – сервер активен (запущен), 0 – сервер не активен

HTTPS – протокол сервера: 1 — HTTPS, 0 – HTTP

Порт – порт сервера

ИД   – ИД текущего запроса

HTTP – версия HTTP запроса

Метод   – метод запроса (GET, POST и т.п.)

Хост   – часть строки запроса формата «Адрес:Порт».

.URL   url запроса

Путь   – левая часть url, путь к запрашиваемому ресурсу

Параметры   – правая часть url, параметры и их значения

АдресКлиента   IP-адрес HTTP-клиента, от которого поступил запрос

ЗаголовкиЗапроса   – названия и содержания всех заголовков запроса

ДлинаЗапроса  – размер тела текущего запроса в байтах

ТелоЗапроса  – тело текущего запроса

Ошибка  – последняя ошибка

 

Демо-обработка

Вид демо-обработки после запуска HTTP-сервера кнопкой «Старт» — «HTTP порт 3000»:

 

 

Пример обработки запроса компонентой (без обработки в 1С):

Набираем в браузере http://localhost:3000/, компонента передает в браузер файл demo.html

 

 

Пример обработки запроса в 1С:

Кликаем в браузере по кнопке «Подтверждение», обработка формирует ответ из элементов запроса и передает его в браузер:

 

 

Пример обработки запроса в OLE— экземпляре 1С:

Подключаем OLE-экземпляр текущей конфигурации. Нажимаем кнопку «Подключить» — «Демо»

 

 

Нажимаем в браузере «Обновить»

 

 

Пример «ручной» обработки запроса в 1С:

Нажимаем кнопку «Отключить» — отключаем OLE-экземпляр 1С.

Устанавливаем в обработке флажок «Ручная обработка запросов».

Нажимаем в браузере «Обновить».

В обработке кликаем по ИД запроса, появившегося в списке «Запросы в очереди».

В окне «Ввод значения» набираем «Привет!»:

 

 

Нажимаем «ОК».

Видим в браузере результат:

 

has been added to your cart:
Оформление заказа