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

Настройка и использование 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://server/app/hs/myservice/method
 

Использование 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/ в браузере появляется окно ввода логина и пароля. Если ввести в это окно те же самые учетные данные, доступ предоставляется, и результат отображается корректно.

Ввод данных через окно браузер – выполняется без проблем.

Если нажать “Отмена” в окне ввода пароля, появляется следующая ошибка:

401.5 – Unauthorized
По указанному адресу настроено приложение ISAPI или CGI, которое проверяет учетные данные пользователя до обработки данных. Данное приложение не может выполнить проверку ваших учетных данных.

Решение

попробуйте добавить в заголовки правильно сформированный “Authorization: Basic

Реклама магазина самообслуживания: треска, стоящая в очереди за cобственной печенью.

— Владимир Колечицкий