Здравствуйте!
Подскажите, пожалуйста, в чем может быть причина следующей ситуации: есть опубликованная база, в ней http-сервис, через браузер подключаюсь под определенным пользователем, получаю данные, все в порядке; пытаюсь достучаться до этого сервиса из другой базы под этим же пользователем - код состояния 401.2.
Логин = "user";
УстановитьПривилегированныйРежим(Истина);
Пароль = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Логин);
УстановитьПривилегированныйРежим(Ложь);
Попытка
Соединение = Новый HTTPСоединение("mybase.ru", 443, Логин, Пароль, , , Новый ЗащищенноеСоединениеOpenSSL, Ложь);
Исключение
ЗаписьЖурналаРегистрации("Загрузка лицевых счетов. Ошибка авторизации при подключении к сервису.",
УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки());
Возврат;
КонецПопытки;
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-type", "application/json; charset=utf-8");
Ответ = Соединение.Получить(Новый HTTPЗапрос("/ser/hs/get", Заголовки));
Код состояния 401.2 выплевывается IISом когда тот не может раскурить комбинацию заголовков ожидаемых и предъявляемых методов авторизации. Найди, пожалуйста, самостоятельно статью о настройке IIS для публикации и сделай все правильно.
(4) База сторонняя и сервер тоже, я к ним отношения вообще не имею, поэтому и перенастроить как-то не имею права. И скорее всего проблема не в настройке IIS, так как жалоб на что-то похожее от других не поступало.
Браузером подключаетесь к сервису с какой машины и каким пользователем Windows?
На web-сервере для опубликованного сервиса какие методы аутентификации разрешены?
Требует ли web-сервер предоставления клиентского сертификата?
(3) Предоставление клиентского сертификата не требует, браузером подключаюсь с обычного компьютера под пользователем этой базы (мне предоставили логин и пароль). Насчет методов аутентификации не знаю, к сожалению.
(11) То есть набираете в адресной строке браузера на обычном компьютере (не на том, где работает или опубликована база) адрес https://mybase.ru/ser/hs/get, в открывшемся окне вводите имя и пароль пользователя 1С опубликованной базы и получаете файл json в ответ?
(8) Код, приведённый в примере, выполняется на клиенте или на сервере?
База, в которой выполняется этот код, файловая или клиент-серверная?
Определён ли прокси в свойствах браузера на клиентской и/или серверной машине?
Если хотите исключить влияние системных настроек прокси, добавьте в конструктор HTTPСоединения пятым параметром Новый ИнтернетПрокси(Ложь).
(12) Да, все верно.
(13) Код выполняется на сервере, база клиент-серверная. Везде стоит автоматическая настройка прокси-сервера. Хорошо, попробую добавить этот параметр, спасибо.