2009-10-06 3 views
2

У меня есть пользовательский веб-сервис, развернутый в WSS 3. Он имеет два веб-метода.Проблемы с потреблением пользовательских веб-сервисов SharePoint - HTTP 401: Неавторизованный

Первый возвращает версию загруженной сборки без какого-либо вызова объектов SharePoint. Второй возвращает некоторые базовые информация о библиотеке, что-то вроде:

var spLibrary = [find library logic]; 
return spLibrary.Name+"@"+spLibrary.Url; 

В приложении клиента у меня есть что-то вроде следующего:

var service = new WebService1(); 
service.Url = [url]; 
service.Credentials = System.Net.CredentialCache.DefaultCredentials; 

service.Method1(); 
service.Method2(); 

Когда клиентское приложение работает на компьютере, где SharePoint является развернуто, все работает отлично.

Когда клиентское приложение работает на удаленной машине (но под тем же пользователем), первый метод все еще работает, а второй выдает System.Net.WebException: HTTP 401: неавторизованный.

Я попытался установить учетные данные вручную (service.Credentials = новый System.Net.NetworkCredential (логин, пароль, домен);), но это не помогает.

Я пытался вызвать встроенный веб-служб SharePoint, используя подобный сценарий , и они прекрасно работают: Извините за ошибку ... Некоторые методы не работают нормально, без соответствующих привилегий.

var service = new GroupsService(); 
service.Url = [url]; 
service.Credentials = System.Net.CredentialCache.DefaultCredentials; 

service.SomeMethod(); 

ответ

3

Вопрос был решен. Пользователь, учетная запись которого использовалась для взаимодействия с sharepoint, получила права администратора семейства сайтов, и все сработало нормально.

Это не проблема с двойным хопом.

Надеюсь, что этот опыт поможет любому другому.

Вот link в теме форума MSDN.

 Смежные вопросы

  • Нет связанных вопросов^_^