我正在尝试使用部署在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);
谢谢, 尼基尔。
答案 0 :(得分:1)
您的SharePoint Server Web应用程序看起来像是基于表单的身份验证。定义webServiceObj.Credentials时,您将使用Windows身份验证,而服务需要基于表单。
要在身份验证方案中呼叫服务,您需要:
调用Authentication.asmx Web服务以获取CookieContainer
将CookieContainer分配给您的webServiceObj.CookieContainer
致电服务