четверг, 16 июля 2009 г.

Настройка шлюза в SharePoint

С сегодняшнего дня стартует раздел "Разбор полетов" в котором будем разбирать некоторые инциденты и методы их решения. Таким образом будет формироваться некая база знаний.

Ситуация.
Установили шлюз в 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.

5 комментариев:

  1. Отличная тема! Давайте развивать, готов участвовать.
    Особенно интересует причина #3. Ошибка доступа к сервису. Кстати, в браузере SharePointAccessService.asmx доступен. Не удается получить доступ только самим шлюзом.
    Права выданы избыточные.

    ОтветитьУдалить
  2. Я бы не хотел, чтобы в блоге разбирались конкретные инциденты :)
    Если все перечисленные способы не помогают, то надо писать к нам в саппорт. Если будет найдено еще что-то интересное, то я обязательно выложу сюда.

    ОтветитьУдалить
  3. Михаил, предлагаю описать интересный нюанс с веткой Wow6432Node в реестре 64-битных ОС : )

    ОтветитьУдалить
  4. Собственно, в тексте поста я это и написал, должна существовать ветка "HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\SharePointGate2007\4.1\TemplatesDir".

    Но действительно, на 64битных машинах этот ключ уплывает под HKLM\SOFTWARE\Wow6432Node, и нужно перенести её

    ОтветитьУдалить
  5. В версии шлюза для DocsVision 4.5 данный ключ в реестре не используется. Шлюз самостоятельно определяет эту папку, и необходимость в ключе отпала.

    ОтветитьУдалить