Пример HTTP-сервиса в 1С 8.3

Создание HTTP-сервиса

Разработаем простой HTTP-сервис в 1С.

В ветке метаданных Общие — HTTP-сервисы создадим новый HTTP-сервис. Укажем имя HTTP-сервис1, корневой URL httpservice:

HTTP-сервис

Перейдем на закладку Шаблоны URL и добавим новый шаблон URL:

Шаблоны URL

Укажем имя Hello, шаблон /hello:

Шаблон URL

Для шаблона URL добавим новый метод:

Метод HTTP-сервиса

HTTP-метод оставим GET и укажем такое же имя:

HTTP-метод

В поле Обработчик нажмем на кнопку с лупой и попадем в модуль HTTP-сервиса, где автоматически будет добавлена процедура HelloGET:

Добавим еще пару строк кода:

На этом все. Сохраняем конфигурацию базы данных.

Установка веб-сервера

Теперь нужно установить веб-сервер.

Веб-сервер — это программа, запущенная в фоновом режиме, которая может принимать и обрабатывать запросы по HTTP протоколу.

1С поддерживает два веб-сервера:

  • Apache
  • IIS

Apache

Apache является бесплатным кроссплатформенным веб-сервером. Для его установки переходим по ссылке и в верхней части скачиваем Apache нужной разрядности. Разрядность определяется по разрядности платформы 1С. Я скачаю 32-х разрядную:

Apache

Распакуем скачанный архив и скопируем папку Apache24 на диск C, так как по умолчанию в конфигурационном файле прописан именно такой путь.

Теперь перейдем в каталог C:\Apache24\bin и запустим httpd.exe. Веб-сервер будет запущен, окно с запущенным веб-сервером должно остаться открытым:

Apache

По умолчанию веб-сервер запускается на 80 порту. Для проверки введем в адресной строке браузера localhost. Если веб-сервер был запущен, то должно выйти сообщение «It works!»:

Apache

Если 80 порт уже занят, то есть возможность изменить его. Для этого нужно открыть файл C:\Apache24\conf\httpd.conf любым текстовым редактором, найти в нем строку Listen 80 и изменить 80 на нужный порт, например 8080:

httpd.conf

Так как теперь используется не стандартный порт, то для проверки в браузере нужно ввести localhost:8080.

Если нужно перенести каталог с Apache в другое место, например на диск G, то нужно в файле Apache24\conf\httpd.conf изменить путь к переменной SRVROOT:

httpd.conf

Если каталог с Apache был скопирован в Program Files, то нужно дать права на каталог с Apache для роли Пользователи:

Права доступа

Теперь нужно установить Apache как службу. Для этого закроем окно с веб-сервером и запустим командную строку от имени администратора. В командной строке введем cd C:\Apache24\bin, чтобы перейти в каталог с apache:

Apache

Выполним команду httpd.exe -k install. Этой командой мы установили apache как службу windows:

Apache

Для запуска службы в каталоге C:\Apache24\bin запустим ApacheMonitor.exe. В трее появится значок для управления службой Apache:

ApacheMonitor

Щелкнем по нему левой кнопкой мыши и выберем команду Start:

ApacheMonitor

IIS (Internet Information Services)

IIS — это проприетарный веб-сервер от Microsoft. Работает только под Windows.

Для установки нужно в панели управления выбрать Программы и компоненты — Включение или отключение компонентов Windows:

Включение или отключение компонентов Windows

В открывшемся окне в группе Службы IIS нужно отметить следующие компоненты:

  • Службы интернета — Общие функции HTTP
  • Службы интернета — Компоненты разработки приложений: ASP.NET, Расширения ISAPI и Фильтры ISAPI
  • Средства управления веб-сайтом: Консоль управления IIS и Служба управления IIS
IIS

И дождаться окончания их установки.

Для запуска нужно в панели управления выбрать пункт Администрирование — Диспетчер служб IIS:

Диспетчер служб IIS

В открывшемся окне в правой части нажать на кнопку Запустить:

Диспетчер служб IIS

По умолчанию IIS запускается на 80 порту. Для проверки нужно в браузере в адресной строки ввести localhost, должна загрузиться страница с IIS:

IIS

Чтобы изменить порт нужно в диспетчере IIS в левой части в разделе Сайты выделить Default Web Site:

Default Web Site

И в правой части нажать на кнопку Привязки:

Привязки

В открывшемся окне нужно выделить строку с типом http и нажать на кнопку Изменить:

Порт IIS

В поле Порт указать нужный порт, например 8080 и нажать ОК:

Порт IIS

Чтобы 64-х разрядный IIS мог работать с 32-х разрядной платформой 1С нужно в диспетчере IIS в левой части выделить пункт Пулы приложений, в списке пулов выделить DefaultAppPool и нажать на кнопку Дополнительные параметры:

Пулы приложений

В открывшемся окне нужно для свойства Разрешены 32-разрядные приложения установить True и нажать ОК:

Разрешены 32-разрядные приложения

Модули расширения веб-сервера

Теперь нужно установить модули расширения веб-сервера 1С (если они еще не установлены). Для этого в Windows перейдем в Приложения и возможности, найдем нужную версию платформы 1С и нажмем Изменить:

Приложения и возможности

В открывшемся окне выберем Изменить и нажмем Далее:

Изменить платформу 1С

Здесь нужно отметить пункт Модули расширения веб-сервера и продолжить установку:

Модули расширения веб-сервера

Публикация HTTP-сервиса

Я буду выполнять публикацию на веб-сервере Apache, для IIS процесс ничем не отличается.

Перед публикацией создадим в каталоге C:\Apache24\htdocs папку testbase. В эту папку будет опубликован HTTP-сервис.

Для IIS не нужно вручную создавать каталог, при публикации он будет создан автоматически.

Для публикации HTTP-сервиса нужно запустить 1С от имени администратора и зайти в конфигуратор. В верхнем меню выбираем Администрирование — Публикация на веб-сервере:

Публикация на веб-сервере

В открывшемся окне нужно ввести произвольное имя (на латинице), выбрать веб-сервер Apache 2.4, в свойстве каталог выбрать созданную нами папку C:\Apache24\htdocs\testbase\. Затем нужно снять все флажки, в том числе на закладке Web-сервисы:

Публикация на веб-сервере

А на закладке HTTP сервисы оставить флажок только для созданного нами HTTP-сервиса:

Публикация на веб-сервере

Нажимаем Опубликовать:

Публикация на веб-сервере

1С предложит перезапустить веб-сервер, откажемся и сделаем это вручную через ApacheMonitor командой Restart:

ApacheMonitor

Тестирование HTTP-сервиса

Для обращения к HTTP-сервису нужно ввести в строке браузера строку по следующему шаблону:

  • адрес — localhost
  • порт — 80, но он используется по умолчанию, его можно не указывать
  • имя базы — testbase, то что мы указали при публикации в свойстве Имя
  • hs — означает что мы обращаемся к HTTP-сервисам
  • URL http сервиса — корневой URL HTTP-сервиса с закладки Основные, мы указывали там httpservice
  • шаблон — то что указывали в свойстве Шаблон на закладке Шаблоны URL /hello

Итоговая строка будет выглядеть так:

Введем ее в адресную строку браузера и получим ответ от HTTP-сервиса:

HTTP-сервис

Содержание курса


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok