使用基于声明的身份验证的Web服务 - SoapServerException

时间:2013-10-16 11:55:08

标签: web-services sharepoint soap claims-based-identity

我们有一个应用程序,它定期从SharePoint列表中提取数据并与另一个应用程序集成。我们已经使用它超过一年没有问题。然而,最近我们改变了我们的服务器场以使用基于声明的身份验证......然后就开始了应用程序。

我的代码在高级别上执行以下操作:

SPWebRefs.Lists spl = new SPWebRefs.Lists();
spl.Credentials = System.Net.CredentialCache.DefaultCredentials;

//Build request here


XmlNode listItems = spl.GetListItems("My list", view, query, viewFields, null, queryOptions, null);

我在那里得到"Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown"例外。

我正在通过Fiddler,我得到了401挑战,然后迅速跟着200响应,我认为这意味着我在。但是一旦调用了GetListItems方法,我就会得到500错误。< / p>

我已经尝试过对抗2010年的实例以及我们准备部署的2013年农场。同样的情况。

我现在正在使用4.0 Framework,但我考虑过对4.5 Framework进行测试,其中包括一些用于声明身份验证的新API。这有什么不同吗?

任何想法都将不胜感激。非常感谢提前!

1 个答案:

答案 0 :(得分:1)

您必须先调用SharePoint身份验证Web服务。您将从中获取一个cookie,您可以将其传递给Lists WebService。

请在此处查看示例:http://www.tonytestasworld.com/post/2009/06/04/How-To-Authenticate-and-Use-SharePoint-Web-Services-in-an-FBA-SharePoint-site.aspx