Как исправить ошибку аутентификации при настройке бесшовной интеграции 1С:ERP и 1С:Документооборот?

Системный администратор 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При настройке бесшовной интеграции между 1С:ERP Управление предприятием и 1С:Документооборот системные администраторы и программисты часто сталкиваются с ошибкой: «Аутентификация пользователя не выполнена. URL сервиса...». Эта проблема возникает на этапе инициализации объекта WSОпределения, когда ERP пытается получить описание веб-сервиса (WSDL) из опубликованной базы Документооборота. Ситуация осложняется тем, что под тем же пользователем в базу можно успешно зайти через интерактивный веб-клиент в браузере, но программный доступ через SOAP-запрос блокируется.

Рассмотрим подробно причины возникновения этой ошибки и разберем пошагово методы её устранения, основываясь на практическом опыте настройки веб-серверов IIS и публикации информационных баз 1С.

Решение 1. Тонкая настройка проверки подлинности в IIS

Одной из наиболее частых причин является конфликт методов авторизации на стороне веб-сервера Internet Information Services (IIS). Когда 1С обращается к веб-сервису, она ожидает определенного поведения от сервера. Если в настройках сайта включено несколько методов проверки подлинности, IIS может требовать авторизацию Windows (NTLM/Kerberos), в то время как код 1С передает учетные данные для внутренней базы 1С.

Проанализируем ситуацию: для корректной работы веб-сервисов в режиме «бесшовной интеграции» рекомендуется настроить Анонимную проверку подлинности. Выполним следующие действия:

  1. Откроем Диспетчер служб IIS.
  2. Перейдем к узлу (виртуальному приложению), где опубликована база 1С:Документооборот.
  3. В разделе «IIS» выберем пункт «Проверка подлинности».
  4. Убедимся, что «Анонимная проверка подлинности» включена (Enabled).
  5. Важный момент: если включена «Проверка подлинности Windows», попробуем временно её отключить, чтобы исключить влияние доменных политик на работу веб-сервиса.

Помимо этого, выясним причину в «Правилах авторизации .NET» (или Authorization Rules). Нам необходимо убедиться, что для анонимных пользователей разрешен доступ к ресурсам. Добавим разрешающее правило для «Все анонимные пользователи» в соответствующем разделе настроек IIS для конкретной публикации.

Решение 2. Проверка и корректировка файла публикации (.vrd)

Файл конфигурации публикации default.vrd является связующим звеном между веб-сервером и платформой 1С. Если в нем допущены ошибки или отсутствуют необходимые параметры, веб-сервис dm.1cws (основной сервис Документооборота) не будет доступен для ERP.

Разберем структуру файла .vrd. Нам необходимо убедиться, что в секции ws разрешена публикация нужного нам сервиса. Пример корректной секции кода в файле:


<ws>
    <point name="dm"
           alias="dm.1cws"
           enable="true"
           reuseSessions="true"
           sessionMaxAge="20"
           poolSize="10"
           poolTimeout="5"/>
</ws>

Обратим внимание на следующие параметры:

Решение 3. Использование правильных сетевых имен и локальных адресов

Иногда ошибка аутентификации вызвана не отсутствием прав, а невозможностью правильно разрешить имя сервера или проблемами в работе сетевых протоколов (например, когда ERP и ДО находятся на одном физическом сервере). Проанализируем сообщение одного из участников обсуждения: замена сетевого имени (например, server-dc-01) на локальный адрес localhost или 127.0.0.1 в настройках интеграции внутри ERP иногда решает проблему.

Почему это происходит? При использовании доменных имен в дело вступает Windows-авторизация и попытки сервера «пробросить» текущие учетные данные пользователя (механизм Double Hop). Если мы используем локальный адрес, запрос обрабатывается проще. Попробуем изменить строку подключения в ERP на:

http://localhost/DO_Base/ws/dm.1cws?wsdl

Если после этого ошибка сменится на другую или всё заработает — значит, проблему нужно искать в настройках DNS или SPN (Service Principal Name) для доменной учетной записи, под которой работает служба сервера 1С.

Решение 4. Программная инициализация WSОпределения в коде 1С

Рассмотрим, как правильно инициализировать соединение в коде 1С, чтобы минимизировать ошибки аутентификации. Часто разработчики забывают передать параметры прокси или некорректно обрабатывают защищенное соединение. Посмотрим на пример кода, который обеспечивает более стабильное подключение:


МестоположениеWSDL = "http://server/do/ws/dm.1cws?wsdl";
ИмяПользователя = "Admin_Integrator";
Пароль = "P@ssw0rd123";

// Если используется HTTPS, обязательно настраиваем защищенное соединение
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL();

Попытка
    Определения = Новый WSОпределения(МестоположениеWSDL, ИмяПользователя, Пароль, , 30, ЗащищенноеСоединение);
    Прокси = Новый WSПрокси(Определения, "http://www.1c.ru/do/ws/dm", "DMService", "DMServiceSoap");
    Прокси.Пользователь = ИмяПользователя;
    Прокси.Пароль = Пароль;
Исключение
    Сообщить("Ошибка подключения: " + ОписаниеОшибки());
КонецПопытки;

Важный совет: всегда проверяйте, чтобы пользователь, под которым выполняется интеграция в базе Документооборота, обладал ролью «Выполнение синхронизации данных» или специализированными ролями для веб-сервисов (например, Ответственный за интеграцию с 1С:Документооборот). Также убедитесь, что в самой базе ДО в разделе «Настройка программы -> Общие настройки» установлена галочка «Использовать бесшовную интеграцию».

Решение 5. Права доступа на уровне операционной системы

Выясним еще одну скрытую причину: права доступа пользователя, от имени которого запущен Пул приложений (Application Pool) в IIS. По умолчанию это может быть IIS AppPool\DefaultAppPool или IUSR. Этому пользователю необходимы права «Чтение и выполнение» на следующие объекты:

  1. Каталог с установленной платформой 1С (особенно папка bin, где лежат библиотеки веб-компонентов wsap24.dll).
  2. Каталог, в котором физически расположен файл default.vrd.
  3. Если база файловая — полный доступ на папку с информационной базой.

Проверим эти настройки в свойствах папок на вкладке «Безопасность». Нехватка прав на чтение библиотек 1С часто приводит к тому, что IIS выдает общую ошибку 401, которую платформа 1С интерпретирует как «Аутентификация не выполнена».

Диагностика через внешние инструменты

Если вышеперечисленные шаги не помогли, воспользуемся проверенным методом диагностики: попробуем открыть ссылку на WSDL (например, http://server/do/ws/dm.1cws?wsdl) непосредственно в браузере на сервере, где установлена ERP. Если браузер бесконечно запрашивает логин и пароль или выдает ошибку доступа — проблема однозначно в настройках IIS или правах доступа к папкам на сервере Документооборота, а не в коде 1С.

Использование утилит типа Fiddler позволит перехватить HTTP-трафик и увидеть, какой именно заголовок Authorization отправляет ERP и какой точный HTTP-код (401.1, 401.2 и т.д.) возвращает IIS. Это позволит локализовать проблему максимально быстро.

← На главную