Настройка и использование HTTP-сервисов в 1С
1. Создание HTTP-сервиса в 1С 
1.1. Включение подсистемы HTTP-сервисов
- В конфигураторе перейдите в дерево конфигурации, выберите “HTTP-сервисы” и добавьте новый сервис.
1.2. Определение метода обработки запросов
- Методы HTTP-сервиса описываются в модулях и могут обрабатывать запросы с использованием протоколов
GET
,POST
,PUT
,DELETE
.
Пример обработки запроса:
&НаСервере Процедура ПолучитьДанные(Запрос, Ответ) Экспорт // Пример ответа в формате JSON Данные = Новый Структура("Статус, Сообщение", "Успех", "Данные получены"); Ответ.УстановитьТекст(Данные.ЗаписатьJSON()); // OK Ответ.КодСостояния = 200; КонецПроцедуры;
1.3. Публикация HTTP-сервиса
- HTTP-сервис становится доступным по адресу, указанному при публикации (например, через IIS). После публикации его можно вызывать через браузер, Postman или другой клиент.
Пример URL:
Использование HTTP-сервиса из 1С
Отправка HTTP-запросов
- Для работы с внешними API можно использовать объекты
HTTPСоединение
иHTTPЗапрос
.
Пример отправки POST-запроса:
HTTPСоединение = Новый HTTPСоединение(Адрес,Порт,Пользователь,Пароль); HTTPЗапрос = Новый HTTPЗапрос(Ресурс); HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded"); HTTPЗапрос.УстановитьТелоИзСтроки(ТелоСтрокой); Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); ОтветСтрокой = Результат.ПолучитьТелоКакСтроку();
Проблемы с авторизацией 1С
Столкнулись с проблемой авторизации на HTTP-сервисе 1С. Используется IIS, настроена сквозная проверка подлинности, пользователь создан.
При попытке открыть URL вида http://user:pass@domain/base/hs/myserv/
в браузере появляется окно ввода логина и пароля. Если ввести в это окно те же самые учетные данные, доступ предоставляется, и результат отображается корректно.
Ввод данных через окно браузер – выполняется без проблем.
Если нажать “Отмена” в окне ввода пароля, появляется следующая ошибка:
Реклама магазина самообслуживания: треска, стоящая в очереди за cобственной печенью.