Ошибка при вызове конструктора (WSОпределения). Сквозная аутентификация из 1С.

1. budden2010 06.03.17 09:42 Сейчас в теме +2 $m
Доброго времени суток!
Подскажите кто сталкивался с подобной проблемой.

Настраиваю подключение из 1С к веб-сервису со сквозной доменной аутентификацией. Выдает ошибку аутентификации.
По форуму поискал, аналогичных ситуаций не нашел, хотя странно, неужели никто не использует обмены через веб-сервисы со сквозной аутентификацией.

При обращении к веб-сервису из 1С выдается ошибка: «Проблема: {ВнешняяОбработка.ПроверкаWS.Форма.Форма.Форма(19)}: Ошибка при вызове конструктора (WSОпределения): Аутентификация пользователя не выполнена. URL сервиса: https://server.domain.local/test/ws/test_ws?wsdl»
Подключение к веб-сервису из браузера с того же сервера и под тем же доменным пользователем проходит успешно, выдается wsdl-описание.

Для обращения к веб-сервису из 1С вызывается следующий код:
&НаСервере
Процедура ПодключитьНаСервере()
                Попытка                              
                               ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();
                               ОпределWS = Новый WSОпределения("https://server.domain.local/test/ws/test_ws?wsdl",,,,, ЗащищенноеСоединение, Истина);
                Исключение
                               текстОш = ОписаниеОшибки();
                               Сообщить("Проблема: " + текстОш);
                КонецПопытки;
КонецПроцедуры
Показать


Описание ландшафта:

Платформа 1С:Предприятие - 8.3.8.2054
IIS - v 8.5
ОС на серверах - Windows 2012R2
Веб-сервер и сервер приложений 1С расположены на разных серверах.
Попытка подключения из 1С производилась как с клиентского компьютера, так и с сервера приложений 1С, результат аналогичный.
Для учетной записи, под которой запущен пул приложений IIS настройка делегирования установлена в «Доверять этому пользователю делегирование служб (только Kerberos)».

На веб-сервере в IIS выполнены настройки для выполнения сквозной доменной аутентификации:
Установлен сертификат от доверенного Центра сертификации.
Сертификат прописан в сертификаты сервера в IIS.
Создан пул приложений, который запускается от имени УЗ, настройка делегирования которой, установлена в «Доверять этому пользователю делегирование служб (только Kerberos)».
Настройка Kerberos авторизации в IIS производилась по аналогии со статьей:
http://winitpro.ru/index.php/2016/05/18/nastrojka-kerberos-avtorizacii-na-sajte-iis/

Настройки веб-сайта в прикрепленном файле.
Прикрепленные файлы:
Настройки IIS.pdf
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Vlad33k 25.05.17 13:26 Сейчас в теме
Получилось решить проблему? Сам столкнулся с этой ошибкой..
3. budden2010 25.05.17 18:29 Сейчас в теме +2 $m
(2) Да, это недоработка платформы 1С.
На партнерском форуме есть информация по этой проблеме.
Ответ от сотрудника 1С был 30.06.2016: "Пожелание записано, но в ближайшее время реализации ждать не стоит, есть технические сложности."
В итоге вариант пока остается только один, размещение веб-сервера совместно с сервером приложений (((

https://partners.v8.1c.ru/forum/topic/1502325#m_1502325

"При подключении к внешним веб-сервисам из кода 1с должна использоваться windows аутентификация. В соответствующих методах платформы для этой цели появился параметр ИспользоватьАутентификациюОС.
С данным параметром прекрасно отрабатывает вызов сервиса, который расположен на Web-сервере вместе с клиентом или вызываемым сервером (например при вызове сервиса другой системы 1С, IIS должен быть расположен вместе с сервером 1С).
При расположении web-сервера отдельно от клиента/сервера для успешной Windows-аутентификации (Negotiate:Kerberos) необходимо олицетворять контекст безопасности клиента на удаленных системах (задействовать механизм Kerberos-delegation)
При реализации клиента за это отвечает параметр олицетворения AllowedImpersonationLevel, который должен принимать значение Delegation (например, myTestAuth.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Delegation)
В текущей реализации 1С не нашли параметра, позволяющего управлять уровнем олицетворения и при использовании параметра ИспользоватьАутентификациюОС на сервер IIS передается уровень олицетворения Impersonation (Сервер не может выдать себя за клиента на удаленных системах.)"
4. AlexeyIsip 25 21.09.23 08:47 Сейчас в теме
Внимательно смотрите на строчные и прописные буквы адреса подключения. Регистр имеет значение.
Вставьте адрес подключения в браузер. Если подключится, то скопируйте измененный адрес в код 1с. У меня заработало.
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день