Я развернул пользовательский веб-сайт SharePoint на ферме A. Я пытаюсь получить доступ к этому веб-сервису из задания таймера SharePoint на ферме B. На ферме B я создавая проект библиотеки классов, упаковывая его (wsp), а затем развертывая в GAC. Проблема в том, что я не могу получить доступ к веб-службе, используя следующий код. TodaysNewSVC
является справочная службаНе удалось вызвать веб-службу SharePoint Custom из другого фермы SharePoint
TodaysNewSVC.GetTodaysnewsfromInsite objGetNews = new TodaysNewSVC.GetTodaysnewsfromInsite();
objGetNews.PreAuthenticate = true;
objGetNews.Credentials = CredentialCache.DefaultCredentials;
objGetNews.Url = "http://insite-dev.portal/_vti_bin/todaysnews.asmx";
DataTable dt2 = objGetNews.getNewsFromInsite(true, true);
//getNewsFromInsite is a WebMethod which returns the DataTable.
Примечание: Обе фермы используют один и тот же проверку подлинности Active Directory. Я также выполнил отладку для задания таймера и активации функции, и они работают нормально. Проблема возникает во время вызова, то есть getNewsFromInsite
Файлы asmx и wsdl доступны из Internet Explorer, а также из приложения Windows Console. Вот код, который я использую из консольного приложения:
GetTodaysnewsfromInsiteSoapClient objWSClient = new GetTodaysnewsfromInsiteSoapClient();
objWSClient.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
objWSClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
DataTable dt = objWSClient.getNewsFromInsite(true, true);
Вот сообщение об ошибке:
The request failed with the error message:
--
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="%2fPages%2fproblem-with-page.aspx%3fc%3d500">here</a>.</h2>
</body></html>
Да Мадхур, я не могу пройти аутентификацию, и я использую интегрированную проверку подлинности Windows. Я проверил каталог _vti_bin из 12 hive, установлен анонимный с интегрированной проверкой Windows. его MOSS 2007. BTW, я вызываю этот веб-сервис из другой фермы и не могу войти в целевой код! –