Возникла необходимость взаимодействовать с 1C с мобильного клиента под Windows Phone 7/8. Самым простым способом взаимодействия показалось работа через web сервисы, поддерживаемые 1С.
С точки зрения публикации web сервиса особых сложностей нет. Шаги подробно описаны в статьях:
Проблемы возникли с доступом к опубликованному web-сервису 1С. Под IIS 7.5 из под Windows 2008R2 после полудня танцев с бубном проблему решить не удалось. Были изучены статьи и ветки форумов:
- http://infostart.ru/public/75205/
- http://www.forum.mista.ru/topic.php?id=568905
- http://www.forum.mista.ru/topic.php?id=665708
- http://www.forum.mista.ru/topic.php?id=539933
- и т.д.
но счастье так и не наступило.
В результате решил, что стоит попробовать поднять web сервис на Apache, поскольку с ним у меня обычно все было несколько проще с настройкой. Итак, на другом порту (8080) на том-же сервере был поднят Apache 2.2.22. В 1С был создан ещё один web сервис и опубликован уже на Apache. С настройками по умолчанию он также не заработал. Разберем ошибки.
Web сервис был опубликован в 1С под именем wsApache.
<img aria-describedby="caption-attachment-1741" data-attachment-id="1741" data-permalink="https://www.bizkit.ru/2013/05/24/1722/3-2/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/31.png" data-orig-size="436,372" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="3" data-image-description="" data-image-caption="
Публикация web-сервиса 1С
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/31-300×255.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/31.png» decoding=»async» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/31.png» alt=»Публикация web-сервиса 1С» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/31.png 436w, https://www.bizkit.ru/wp-content/uploads/2013/05/31-150×127.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/31-300×255.png 300w» sizes=»(max-width: 436px) 100vw, 436px»>
Публикация web-сервиса 1С под Apache
Соответственно, в указанном при публикации каталоге появился файл default.vrd следующего содержания:
В httpd.conf 1С добавила следующие строчки:
# 1c publication
LoadModule _1cws_module "C:/Program Files (x86)/1cv82/8.2.17.153/bin/wsap22.dll"
Alias "/ws" "C:/inetpub/wwwroot/ws/"
Allow from all
В целом, файлы/изменения создаваемые 1С почти
рабочие. Теперь о проблемах.
- Правильный линк на сервис
- Авторизация пользователя при обращении к web сервису 1С
- Публикация web сервиса 1С на IIS 7
- Ошибка HTTP 401. 2 — Unauthorized
- Нужно зайти туда и сменить «Deny» на «Allow» для секции «authentication»
- После чего РАБОЧИЙ web. config для опубликованного web сервиса 1С будет выглядеть следующим образом
- На всякий случай для проверки настроек при публикации web сервиса имеет смысл в консоли управления IIS зайти в следующие разделы
- Если для доменных пользователей прописаны корректные соответствия в учетных записях 1С, то авторизация пройдет прозрачно под доменными учетными записями, в чем можно будет убедиться посмотрев в логах авторизации 1С.
- Доступ из Visual Studio 2012
- 1. Для чего нужна доменная авторизация в системе программы 1С: Предприятие?
- 2. Настройки аутентификации операционной системой в режиме Конфигуратора
- 3. Настройки аутентификации операционной системой в режиме 1С: Предприятие
- 0. Оглавление
- 1. Что понадобится
- 2. Установка веб-сервера IIS
- 3. Установка компонент «1С:Предприятие»
- 4. Настройка операционной системы
- 5. Публикация базы данных на веб-сервере
- 6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
- 7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
- 8. Подключение к опубликованной информационной базе через веб-браузер
- 9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
- 10. Конфигурационные файлы виртуального каталога
- 10.1. Файл default.vrd
- 10.2. Файл web.config
Правильный линк на сервис
В некоторых статьях путь к web сервису указан как: http://имя_сервера:порт/имя_при_публикации/alias?wsdl.
В моем случае:
- Имя сервера: s-1s-1-hw
- Порт: 8080
- Имя при публикации: wsApache
- Alias из файла default.vrd: service.1cws
Соответственно, НЕПРАВИЛЬНАЯ
ссылка на web сервис 1С такая: http://s-1c-1-hw:8080/wsApache/service.1cws?wsdl
Если использовать такой линк, то 1C 8.2 выдаст сообщение вида:
1C:Enterprise 8 application error:
HTTP: Not found Ошибка при работе с ресурсом /ws/service.1cws
Это обращение эквивалентно обращению по имени сервиса из default.vrd:
В моем случае:
- Name из файла default.vrd: Service
Соответственно, ПРАВИЛЬНЫЙ
линк для доступа к web сервису 1С будет такой:
Если указать ссылку с суффиксом ?wsdl, то в веб браузере отобразиться XML файл с описанием опубликованного сервиса.
Если указать ссылку без суффикса ?wsdl, то при правильной настройке должна появится страница с гиперссылкой на опубликованный сервис:
Авторизация пользователя при обращении к web сервису 1С
Если попытаться получить доступ к web сервису опубликованному под Apache не исправляя файл default.vrd, то появиться стандартный диалог авторизации:
<img aria-describedby="caption-attachment-1746" data-attachment-id="1746" data-permalink="https://www.bizkit.ru/2013/05/24/1722/1cwebserviceauthorization/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization.png" data-orig-size="437,367" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="1CWebServiceAuthorization" data-image-description="" data-image-caption="
Диалог авторизации на web сервисе 1С
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization-300×251.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization.png» alt=»Диалог авторизации на web сервисе 1С» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization.png 437w, https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization-150×125.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/1CWebServiceAuthorization-300×251.png 300w» sizes=»(max-width: 437px) 100vw, 437px»>
Диалог авторизации на web сервисе 1С
Это все. В моем случае каких-то дополнительных правок конфиг файлов не потребовалось.
В некоторых статьях указывалось, что нужно убрать из httpd.conf опцию « Options None
«. У меня работает в обоих вариантах, т.е. когда строка присутствует и когда она удалена.
Публикация web сервиса 1С на IIS 7
Как уже упоминал выше, с публикацией web сервиса на IIS 7.5 с первого раза у меня не задалось, хотя тонкий клиент запускается без проблем. Поскольку пароль в конфигурационном файле по соображениям безопасности меня не устраивал, вернулся к вопросу настройки IIS. Был опубликован web сервис с именем wsIIS и именем сервиса ServiceIIS и alias-ом serviceIIS.1cws. Галка в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере» для простоты эксперимента была снята.
<img aria-describedby="caption-attachment-1754" data-attachment-id="1754" data-permalink="https://www.bizkit.ru/2013/05/24/1722/attachment/4/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/4.png" data-orig-size="437,369" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="4" data-image-description="" data-image-caption="
Публикация web сервиса 1С в IIS 7.5.
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/4-300×253.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/4.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/4.png» alt=»Публикация web сервиса 1С в IIS 7.5.» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/4.png 437w, https://www.bizkit.ru/wp-content/uploads/2013/05/4-150×126.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/4-300×253.png 300w» sizes=»(max-width: 437px) 100vw, 437px»>
Публикация web сервиса 1С в IIS 7.5.
Корректная ссылка в моем случае: http://s-1c-1-hw/wsIIS/ws/ServiceIIS?wsdl
. При попытке зайти из Chrome/IE получаем ошибку возвращенную IIS:
Ошибка HTTP 401. 2 — Unauthorized
дабы избавиться от ошибки правим web.config сформированный 1С следующим образом:
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
add
name
=
"1C Web-service Extension"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"C:\Program Files (x86)\1cv82\bin\wsisapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
/>
Эта правка эквивалента изменению через консоль управления IIS для нашего опубликованного приложения с именем wsIIS правил авторизации пользователя
.
<img aria-describedby="caption-attachment-1762" data-attachment-id="1762" data-permalink="https://www.bizkit.ru/2013/05/24/1722/wsiis-2/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1.png" data-orig-size="796,443" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="wsIIS" data-image-description="" data-image-caption="
Настройки IIS 7.5 для доступа к web сервисам 1C
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1-300×166.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1.png» alt=»Настройки IIS 7.5 для доступа к web сервисам 1C» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1.png 796w, https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1-150×83.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/wsIIS1-300×166.png 300w» sizes=»(max-width: 796px) 100vw, 796px»>
Настройки IIS 7.5 для доступа к web сервисам 1C
Добавление тегов security в web.config или правка правил авторизации в консоли IIS приводит к тому, что при обращении к сервису по указанной выше ссылке появляется запрос на авторизацию. Вводим нашего тестового пользователя IUSR без пароля и получаем нужный XML файл в ответе сервера.
Изменим настройки авторизации пользователя (в IIS проверка подлинности
), чтобы использовалась Windows авторизация. Сменить можно в консоли управления IIS, либо в конфигурационном файле. Мне больше нравиться конфигурационный файл. так как проще переносить настройки при миграции на другой сервер.
Поскольку изменения секции web.config <authentication> заблокированы на уровне IIS в файле
%windir%\system32\inetsrv\config\applicationHost.config
Нужно зайти туда и сменить «Deny» на «Allow» для секции «authentication»
<
section
name
=
"anonymousAuthentication"
overrideModeDefault
=
"Allow"
/>
<
section
name
=
"basicAuthentication"
overrideModeDefault
=
"Allow"
/>
<
section
name
=
"clientCertificateMappingAuthentication"
overrideModeDefault
=
"Deny"
/>
<
section
name
=
"digestAuthentication"
overrideModeDefault
=
"Deny"
/>
<
section
name
=
"iisClientCertificateMappingAuthentication"
overrideModeDefault
=
"Deny"
/>
<
section
name
=
"windowsAuthentication"
overrideModeDefault
=
"Allow"
/>
После чего РАБОЧИЙ web. config для опубликованного web сервиса 1С будет выглядеть следующим образом
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
add
name
=
"1C Web-service Extension"
path
=
"*"
verb
=
"*"
modules
=
"IsapiModule"
scriptProcessor
=
"C:\Program Files (x86)\1cv82\bin\wsisapi.dll"
resourceType
=
"Unspecified"
requireAccess
=
"None"
/>
<
windowsAuthentication
enabled
=
"true"
useKernelMode
=
"true"
>
<
add
value
=
"Negotiate"
/>
<
add
value
=
"NTLM"
/>
<
extendedProtection
tokenChecking
=
"Allow"
/>
<
basicAuthentication
enabled
=
"false"
/>
<
anonymousAuthentication
enabled
=
"false"
/>
Эквивалент последней выполненной операции (настройка <authentication>) — публикация сервиса с включенной галкой в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере». 1 С при публикации меняет эту настройку не в web.config, а в настройках IIS через API. В любом случае изменения должны быть видны в консоли управления IIS:
<img aria-describedby="caption-attachment-1767" data-attachment-id="1767" data-permalink="https://www.bizkit.ru/2013/05/24/1722/webservice1ciisauthentication/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication.png" data-orig-size="707,248" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="WebService1CIISAuthentication" data-image-description="" data-image-caption="
Настройка аутентификации при публикации web сервиса 1С в IIS
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication-300×105.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication.png» alt=»Настройка аутентификации при публикации web сервиса 1С в IIS» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication.png 707w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication-150×52.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISAuthentication-300×105.png 300w» sizes=»(max-width: 707px) 100vw, 707px»>
Настройка аутентификации при публикации web сервиса 1С в IIS
На всякий случай для проверки настроек при публикации web сервиса имеет смысл в консоли управления IIS зайти в следующие разделы
<img aria-describedby="caption-attachment-1768" data-attachment-id="1768" data-permalink="https://www.bizkit.ru/2013/05/24/1722/webservice1ciisconsole/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole.png" data-orig-size="816,303" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="WebService1CIISConsole" data-image-description="" data-image-caption="
Публикация web сервиса 1С в IIS. Настройка через консоль.
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole-300×111.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole-800×297.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole.png» alt=»Публикация web сервиса 1С в IIS. Настройка через консоль.» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole.png 816w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole-150×55.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole-300×111.png 300w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CIISConsole-800×297.png 800w» sizes=»(max-width: 816px) 100vw, 816px»>
Публикация web сервиса 1С в IIS. Настройка через консоль.
Если для доменных пользователей прописаны корректные соответствия в учетных записях 1С, то авторизация пройдет прозрачно под доменными учетными записями, в чем можно будет убедиться посмотрев в логах авторизации 1С.
Здесь
приводится ряд ошибок IIS (и способы их устранения) которые с высокой вероятностью могут возникнуть при публикации web сервиса 1С на IIS.
Доступ из Visual Studio 2012
<img aria-describedby="caption-attachment-1749" data-attachment-id="1749" data-permalink="https://www.bizkit.ru/2013/05/24/1722/webservice1cvisualstudio/" data-orig-file="https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio.png" data-orig-size="632,509" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":""}" data-image-title="WebService1CVisualStudio" data-image-description="" data-image-caption="
Добавление reference к web службе 1С из Visual Stiudio.
» data-medium-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio-300×241.png» data-large-file=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio.png» decoding=»async» loading=»lazy» src=»http://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio.png» alt=»Добавление reference к web службе 1С из Visual Stiudio.» srcset=»https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio.png 632w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio-150×120.png 150w, https://www.bizkit.ru/wp-content/uploads/2013/05/WebService1CVisualStudio-300×241.png 300w» sizes=»(max-width: 632px) 100vw, 632px»>
Добавление reference к web службе 1С из Visual Stiudio.
Далее разрабатываем обычный клиент для web сервиса.
1. Для чего нужна доменная авторизация в системе программы 1С: Предприятие?
2. Настройки аутентификации операционной системой в режиме Конфигуратора
3. Настройки аутентификации операционной системой в режиме 1С: Предприятие
1. Для чего нужна доменная авторизация в системе программы 1С: Предприятие?
В данной статье подразумевается, что в структуре учреждения куда входят все сетевые ноды, в том числе и развернут ландшафт 1С уже настроена служба каталогов AD (Active Directory), которая является главным узлом доменной авторизации и управления политиками пользователей, а также программного обеспечения 1С: Предприятия в масштабах этого учреждения, пользователь конфигурации 1С имеет действующую учетную запись пользователей домена и групповыми политиками AD ему не ограничен доступ для безотказной работы клиентских приложений конфигурации системы 1С: Предприятие.
Зачем нужна в 1С доменная авторизация?
Кратко, если для выбранной ИБ существует список пользователей AD, которым настроена аутентификация конфигурации системы 1С: Предприятие и разрешена работа, на экран будет выведено окно авторизации пользователя в системе.

Авторизация пользователя в системе

Существует несколько способов настройки аутентификации операционной системой пользователей 1С :
1)В режиме Конфигуратор
2)В режиме 1С: Предприятие
2. Настройки аутентификации операционной системой в режиме Конфигуратора
Проходим в меню «Администрирование» — «Пользователи» — «Действия» — «Настройка списка» и для удобства сначала настроим видимость аутентификации в списке пользователей AD.

Далее из списка выбираем пользователя, которому нужно настроить аутентификацию операционной системой, снимаем флаг « Аутентификация 1С:Предприятие» и устанавливаем флаг «Аутентификация операционной системы».
Пользователь MAC OS вводится в формате: \\имя_домена\имя_пользователя.
Пример: \\DN15\afonin_ga где имя домена DN15 а имя пользователя afonin_ga.
Для удобства подбора пользователей в домене в поле пользователя в системе можно вызвать специальное окно. Далее нажимаем «ОК» и в 1С настройки пользователя закончены.

Если используется публикация базы 1С на веб-сервере, то проходим в меню «Администрирование» -«Публикация на веб-сервере» и ставим флаг на «Использовать аутентификацию операционной системы» затем нажимаем «Опубликовать».

Публикация на веб-сервере
3. Настройки аутентификации операционной системой в режиме 1С: Предприятие
Переходим в подсистему «Администрирование» или «НСИ и Администрирование» — «Настройка пользователей и прав» — «Пользователи» и выбираем пользователя которому нужно настроить аутентификацию операционной системы . Здесь настройки аналогичные как и в режиме Конфигуратор, снимаем флаг «Аутентификация 1С: Предприятие» и устанавливаем флаг «Аутентификация операционной системы».
Пользователь OS вводится в формате: \\имя_домена\имя_пользователя.
Пример: \\DN15\afonin_ga где имя домена DN15 а имя пользователя afonin_ga.
Для удобства подбора пользователей в домене в поле пользователь можно вызвать окно.
Далее нажимаем «Записать и закрыть» и настройки пользователя закончены.

Аутентификация операционной системы
Переходим в окно списка баз, выбираем нужную базу для запуска и нажимаем «Изменить» — «Далее», здесь отмечаем «Запрашивать имя и пароль» — «Готово».

Редактирование информационной базы
Специалист компании «Кодерлайн»
10.
TVA_11
Сейчас в теме
1) Описание конфигурации
— Версия и релиз ОС сервера с Active Directory: Windows Server 2012 R2 Версия 6.3 (сборка 9600)
— Версия и релиз ОС сервера с сервером 1С и web-сервером Apache: CentOS Linux release 7.8.2003 (Core)
— Релиз платформы сервера 1С: Предприятия: 1С: Предприятие 8.3 (8.3.18.1334)
— Релиз сервера PostgreSQL (так же указать версия от 1С т.е. с Портала 1С или нет?): (PostgreSQL) 11.8
— Релиз web-сервера Apache: Apache/2.4.6 (CentOS)
— Версия и релиз ОС компьютера-клиента с которого выполнялся тестовый вход в базу 1С: Windows 10 Версия 1909 (сборка ОС 18363.1556)
— Какая конфигурация 1С (база 1С) и релиз. (указать используется демо версия, пустая или копия рабочей базы): пустая на 5 пользователей
2) Что сделано:
— Аутентификация Kerberos
— NTLM-авторизация Apache
Лог ошибки на сервере:
14:22.295000-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’
14:22.295001-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr=’./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:’
14:22.316001-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’
14:22.316002-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr=’./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:’

В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3
на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» ( 8.1
и 8.2
) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного
, так и для 64-разрядного
модуля расширения веб-сервера.
0. Оглавление
- Что понадобится
- Установка веб-сервера IIS
- Установка компонент «1С:Предприятие»
- Настройка операционной системы
- Публикация базы данных на веб-сервере
- Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
- Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
- Подключение к опубликованной информационной базе через веб-браузер
- Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
- Конфигурационные файлы виртуального каталога
1. Что понадобится
- Компьютер отвечающий минимальным системным требованиям
для работы веб-сервера под управлением одной из операционных систем: - Права локального администратора на данном компьютере.
- Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389
. Для более старых версий «1С:Предприятие» ( 8.1
и 8.2
) алгоритм публикации баз данных в целом аналогичен.
2. Установка веб-сервера IIS
Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:
Подробно про процесс развертывания веб-сервера IIS я писал:
- В Microsoft Windows Server 2012 (R2) — здесь
. I IS версии 8, после установки должны увидеть страницу Default Web Site
вида:

- В Microsoft Windows Server 2008 (R2) — здесь
. I IS версии 7, после установки должны увидеть страницу Default Web Site
вида:

3. Установка компонент «1С:Предприятие»
На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие»
(32-разрядные компоненты) обязательно выбрав при установке компоненты:
- 1С:Предприятие
- Модули расширения веб-сервера

Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера
из соответствующей поставки «1С:Предприятие» и установить компоненту:
- Модуль расширения веб-сервера

4. Настройка операционной системы



Затем нажимаем расположенную справа кнопку « Поиск
» (Find Now), после чего выбираем необходимую группу IIS_IUSRS
в таблице результатов поиска и нажимаем « ОК
».

Группа IIS_IUSRS
появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем « Применить
» (Apply) для сохранения изменений.

Ну и наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS
полные права на каталог с расположенными файлами данной информационной базы.

5. Публикация базы данных на веб-сервере

Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:
- Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
- Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
- Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
- Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце « Адрес
» изменить синоним, по которому будет происходить обращение к данному Web-сервису. - Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.
Выбрав необходимые настройки публикации нажимаем « Опубликовать
».

Если публикация прошла без ошибок, увидим соответствующее сообщение.

Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool
— без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже
6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт « Средства
» (Tools) — « Диспетчер служб IIS
» (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site
— появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку « Пулы приложений
» (Application Pools).

В списке пулов приложений найдем пул с именем DefaultAppPool
. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт « Дополнительные параметры
» (Advanced Settings).

В открывшемся окне параметров пула приложения, в группе « Общие
» (General) найдем пункт « Разрешены 32-разрядные приложения
» (Enable 32-Bit Applications) и установим значение параметра равным True
. Затем сохраним изменения нажав « ОК
».

7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe
соответствующей версии, расположенной в каталоге bin
, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.
Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт « Средства
» (Tools) — « Диспетчер служб IIS
» (Internet Information Services (IIS) Manager).

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site
— появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт « Сопоставление обработчиков
» (Handler Mappings) на начальной странице приложения.

В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c « C:\Program Files (x86)\1cv8\8.3.4.389\bin\wsisapi.dll
» на « C:\Program Files\1cv8\8.3.4.389\bin\wsisapi.dll
» воспользовавшись кнопкой выбора. Изменив путь нажимаем « ОК
» для сохранения изменений.

8. Подключение к опубликованной информационной базе через веб-браузер
Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>
. В данном примере это http://localhost/DemoAccounting/.


9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку « Добавить
» для добавления информационной базы.

В окне добавления информационной базы/группы установим переключатель в « Добавление в список существующей информационной базы
» и нажмем « Далее
».

Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем « На веб-сервере
» и нажмем « Далее
».

Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем « Далее
».

Указываем параметры запуска для информационной базы и нажимаем « Готово
» для завершения работы мастера.

После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие». Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем « 1С:Предприятие
» для подключения к информационной базе.


10. Конфигурационные файлы виртуального каталога
Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:
- default.vrd
- web.config

Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.
10.1. Файл default.vrd
В файле default.vrd
описываются опубликованные Web-сервисы (элемент <ws>
), а также указывается имя виртуального приложения (атрибут base
) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib
). В данном примере для файловой информационной базы, строка подключения будет следующей:
ib="File="C:\1C_BASE\DemoAccounting";"
Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML ( http://www.w3.org/TR/xml11/
), они должны быть заменены соответствующим образом.

ib="File="C:\1C_BASE\DemoAccounting";Usr=Продавец;Pwd=123;"
Для серверной информационной базы
строка подключения будет иметь вид:
ib="Srvr="WIN2012"e;;Ref="e;Accounting"e;;"
Где WIN2012
— имя кластера серверов «1С:Предприятие», а Accounting
— имя базы данных в кластере.

Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.
10.2. Файл web.config
Файл web.config
— это файл, определяющий параметры для ASP. NET
web-приложения. В каждом web-приложении должен быть файл web.config
, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll
, расположенной в каталоге bin
, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт « Сопоставления обработчиков
» (Handler Mappings).





