Ошибка при обращении к listdata.svc в SharePoint

Ошибка при обращении к listdata.svc

При обращении к сервису SharePoint listdata.svc для получения данных из списков в формате XML получал сообщение "The value of the property ‘autenticationScheme' cannot be parsed. The error is: The enumeration value must be one of the following: None, Digest, Negotiate, Ntlm, IntegratedWindowsAuthentication, Basic, Anonymous" (Рис.1).

Ошибка при обращении к listdata.svc

Рис.1. Ошибка при обращении к listdata.svc

 

При этом на самом сайте SharePoint идентификация (authentication)использовалась типа Windows Authentication (Рис.2)

Настройки идентификации сайта SharePoint в IIS

Рис.2. Настройки идентификации сайта SharePoint в IIS

Спрашивается, почему?

В результате долгих поисков в мировых источниках так и не нашел совета, который исправил бы ситуацию. Предложения были установить «обновление служб данных ADO.NET для .NET Framework 3.5 с пакетом обновления 1 (SP1) для ОС Windows 7 и Windows Server 2008 R2» (http://www.microsoft.com/ru-ru/download/details.aspx?id=2343) и включить все виды аутентификации. Но обновление уже было установлено (при установке получал соответствующее сообщение), а включение всех видов идентификации (authentication) даже звучало бредово, но эксперимент по их включению все же был проведен, но проблема не была устранена.

Это, к счастью, был тестовый стенд, потому проблема была не очень критична, да и время на изучение было. На рабочей площадке сервис listdata.svc прекрасно работал.

По ходу траблшутинга были проверены настройки веб-приложений SharePoint, настройки IIS -  внешне все было одинаково.

Следующий шаг диагностики – проверка решений. На тестовой площадке установлено чуть больше решений, чем на боевой площадке – тут их и тестируют. Начал проверку списка установленных решений, начал проверять записи SafeControl в web.config’е. И тут вспомнил про недавнюю поставку решения, для которого в web.config’е нужно было ручками что-то поправить (это порочная практика – ручная правка, но на этапе начала внедрения можно на компромисс пойти). Решил проверить, правильный ли код прислали для внесения.

Поднял входящие письма, нашел код, начал искать в web.config’е. Было добавление строчки <httpTransport manualAddressing="false" ... authenticationScheme=" Basic" ...>

Идентификация (authentication) Basic вообще не уместна для сайтов SharePoint  :), а когда перед ним еще и пробел идет, то неуместное становится равным неработающему. Сразу же заменил authenticationScheme=" Basic" на authenticationScheme="IntegratedWindowsAuthentication" и ошибка пропала, сервис заработал.

 

 

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика