来自ASP.NET项目的SharePoint自定义WebService调用

时间:2015-06-18 05:21:59

标签: c# asp.net web-services sharepoint

我正在尝试使用部署在SharePoint服务器上的自定义Web服务。我在我的项目中添加了WebService的代理类。

我正在传递正确的凭据以连接到WebService调用,当我尝试从WebService类调用方法时,它会重定向到Login页面并发送HTML代码以响应登录页面。

//Code for using webservice
var webServiceObj = new MyWebService();
webServiceObj.Credentials = new NetworkCredential(Constants.UserName_Cridentials, Constants.Password_Cridentials, Constants.DomainName_Cridentials);

var result = webServiceObj.GetWeekReport(ID, Date);

谢谢, 尼基尔。

1 个答案:

答案 0 :(得分:1)

您的SharePoint Server Web应用程序看起来像是基于表单的身份验证。定义webServiceObj.Credentials时,您将使用Windows身份验证,而服务需要基于表单。

要在身份验证方案中呼叫服务,您需要:

  1. 调用Authentication.asmx Web服务以获取CookieContainer

  2. 将CookieContainer分配给您的webServiceObj.CookieContainer

  3. 致电服务

  4. 我发现这篇文章完美地描述了它http://www.tonytestasworld.com/post/2009/06/04/How-To-Authenticate-and-Use-SharePoint-Web-Services-in-an-FBA-SharePoint-site.aspx