2

我们有一个应用程序,它定期从 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 错误。

我已经针对 2010 实例以及我们准备部署的 2013 场进行了尝试。同样的情况。

此时我使用的是 4.0 框架,但我考虑过针对 4.5 框架对其进行测试,其中包括一些用于声明身份验证的新 API。那会有什么不同吗?

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

4

1 回答 1

1

您必须首先调用 SharePoint 的身份验证 WebService。您将从其中获得一个 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

于 2013-10-16T14:56:36.673 回答