无法从另一个SharePoint场调用SharePoint自定义Web服务

时间:2011-01-12 15:33:50

标签: asp.net web-services sharepoint

我在Farm A上部署了一个自定义SharePoint Web服务。我正在尝试从Farm B上的SharePoint计时器作业访问此Web服务。在Farm B上,我正在创建类库项目,打包它(wsp)然后部署到GAC。问题是我无法使用以下代码访问Web服务。 TodaysNewSVC是服务参考

      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.

注意:两个服务器场都使用相同的活动目录身份验证。我还完成了Timer Job和功能激活的调试,它们工作正常。呼叫期间会出现问题,即getNewsFromInsite

可以从Internet Explorer以及Windows控制台应用程序访问asmx和wsdl文件。这是我在控制台应用程序中使用的代码:

            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>

1 个答案:

答案 0 :(得分:1)

什么是problem-with-page.aspx?是登录还是自定义错误页面?

如果是其登录页面,则您的身份验证失败。我怀疑它的登录页面是否因为您提到了Active Directory身份验证。

如果是自定义错误页面,则目标代码抛出异常。您是否可以介入目标代码?