使用SharePoint Web服务访问列表时出错

时间:2010-08-27 10:54:59

标签: web-services sharepoint list

我正在尝试使用Web服务访问SharePoint列表,我需要相应地通过Web服务更新相同的内容。以下是我正在使用的示例代码

        Lists Testlist = new Lists();

        Testlist.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; 

        Testlist.PreAuthenticate = true;

        XmlNode myNode = Testlist.GetList("sample list");  
        .
        .
        .  

但是,当我尝试使用Testlist.getList()Web服务方法时,我收到类型为“Microsoft.SharePoint.SoapServer.SoapServerException”的异常。

我已经为它做了很多事情,但仍然没有得到适当的解决方案。

任何人都可以帮我解决这个问题...... :(

1 个答案:

答案 0 :(得分:2)

看起来您已经通过添加WCF服务引用来设置Web服务代理;我之前尝试过这条路线但没有成功。事实上,我敢打赌,我们甚至会得到同样的错误;我的服务验证是一个问题。

使用非WCF方法(添加Web引用)重新生成代理后,我能够正常运行,没有任何问题。

您可以通过以与之前相同的方式向项目添加服务参考来执行此操作,但在"Add Service Reference" dialog上,单击“高级...”按钮。这将打开"Service Reference Settings" dialog

在此处,点击底部的"Add Web Reference..."按钮,然后指向您的列表服务并生成您的代理类。

在代码中,在实例化Lists服务对象后,使用以下内容进行身份验证:

TestList.UseDefaultCredentials = true;

现在你应该可以无异常地调用你的方法了。如果您偶然发现使用Visual Studio服务参考对SharePoint Web服务进行身份验证的正确方法,我很乐意听到它。