С сегодняшнего дня стартует раздел "Разбор полетов" в котором будем разбирать некоторые инциденты и методы их решения. Таким образом будет формироваться некая база знаний.
Ситуация.
Установили шлюз в SharePoint2007, при попытке добавить в бизнес-процесс переменную из данного шлюза (например, Элемент библиотеки документов). Появляется окно в предложением ввести логин и пароль. После ввода логина и пароля появляется сообщение "Доступ запрещен".
В чем причина
При добавлении переменной шлюз производит попытку соединения с сервисом SharePointAccessService.asmx для получения данных об объектах. Авторизация происходит:
а) по встроенной аутентификации, в случае если в настройках шлюза не указана конкретная учетная запись
б) по базовой аутентификации если в настройках шлюза указана конкретная учетная запись.
Настройки шлюза задаются в "Консоли настройки", ветка Шлюз в SharePoint.
Следовательно причина может быть такова
а) Сервис SharePointAccessService.asmx не установлен на сервере SharePoint
б) Произошла ошибка доступа к сервису SharePointAccessService.asmx
в) Произошла ошибка доступа сервиса SharePointAccessService.asmx к службам SharePoint
г) Произошла ошибка при работе сервиса SharePointAccessService.asmx
Что нужно сделать
1. Проверить, что на сервере SharePoint установлен компонент AccessService (Веб сервис доступа), из дистрибутива шлюза в SharePoint 2007. Если нет, то произвести установку
2. Проверить на сервере SharePoint, что в ключе задано значение.
HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\SharePointGate2007\4.1\TemplatesDir
- папка, и существует ли она. Если нет, то нужно указать значение C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\.
3. Проверить в логах IIS на сервере SharePoint нет ли ошибок доступа к SharePointAccessService.asmx. Если есть, то нужно разбираться в причинах
4. Проверить, что пользователь, под которым осуществляется подключение, имеет права на доступ к SharePoint. Данный пользователь должен быть заведен на самом портале.
Так же нужно помнить, что если подключение шлюза идет по встроенной аутентификации, то при работе экземпляра бизнес-процесса соединение с SharePoint будет происходить под учетной записью, под которой запущен сервис Workflow.
Отличная тема! Давайте развивать, готов участвовать.
ОтветитьУдалитьОсобенно интересует причина #3. Ошибка доступа к сервису. Кстати, в браузере SharePointAccessService.asmx доступен. Не удается получить доступ только самим шлюзом.
Права выданы избыточные.
Я бы не хотел, чтобы в блоге разбирались конкретные инциденты :)
ОтветитьУдалитьЕсли все перечисленные способы не помогают, то надо писать к нам в саппорт. Если будет найдено еще что-то интересное, то я обязательно выложу сюда.
Михаил, предлагаю описать интересный нюанс с веткой Wow6432Node в реестре 64-битных ОС : )
ОтветитьУдалитьСобственно, в тексте поста я это и написал, должна существовать ветка "HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\SharePointGate2007\4.1\TemplatesDir".
ОтветитьУдалитьНо действительно, на 64битных машинах этот ключ уплывает под HKLM\SOFTWARE\Wow6432Node, и нужно перенести её
В версии шлюза для DocsVision 4.5 данный ключ в реестре не используется. Шлюз самостоятельно определяет эту папку, и необходимость в ключе отпала.
ОтветитьУдалить