无法添加对 SharePoint 列表服务的引用

Posted

技术标签:

【中文标题】无法添加对 SharePoint 列表服务的引用【英文标题】:Cannot add reference to SharePoint list service 【发布时间】:2013-05-02 16:55:22 【问题描述】:

我正在尝试在 https://abcd/_vti_bin/lists.asmx 添加对 SharePoint 列表服务的引用,但出现以下错误:

下载时出错 'https://abcd/_vti_bin/lists.asmx/_vti_bin/ListData.svc/$元数据'。 请求失败,HTTP 状态为 404:未找到。 元数据包含无法解析的引用:“https://abcd/_vti_bin/lists.asmx”。 HTTP 请求未经客户端身份验证方案“匿名”授权。从服务器收到的身份验证标头是 '谈判,NTLM'。 远程服务器返回错误:(401) Unauthorized。 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

SharePoint 网站启用了 Windows 身份验证、启用了 ASP.NET 模拟并禁用了匿名访问。

我能够使用 IE 连接到服务;它提示输入 NT 用户 ID 和密码。当我尝试从 Windows 应用程序添加引用时出现错误。

任何帮助将不胜感激。

环境:Visual Studio 2012,托管在 IIS 7.5 上的 Sharepoint,Windows Server 2008 R2

【问题讨论】:

【参考方案1】: 右键单击 References 文件夹,然后单击“添加服务引用”。 在“添加服务参考”向导中单击“高级...”按钮。 在“高级”向导中单击“添加 Web 参考... 然后添加服务引用

【讨论】:

【参考方案2】:

创建服务引用以访问 SharePoint 列表

    打开或创建 Visual Studio 项目。 在解决方案资源管理器中,右键单击“引用”节点,然后单击“添加服务引用”。 在地址框中,键入目标站点的 URL 并附加 /_vti_bin/ListData.svc。例如,网站 intranet.wingtip.com 的地址为 http://intranet.wingtip.com/_vti_bin/ListData.svc。 将命名空间框中的默认名称从 ServiceReference1 更改为更合适的名称,例如 WingtipSite。 单击“确定”创建代理类,包括要访问的列表的数据上下文和实体类。 开始针对这些代理类编写代码,这些代理类提供对 SharePoint 列表项列的强类型访问。

【讨论】:

我遵循完全相同的步骤。问题出在第 5 步,当我单击“确定”按钮时,由于上述错误而出现错误。 您使用的是简单的 Web 服务还是 WCF? 它是Sharepoint Foundation 2010提供的默认List webservice。由于它有一个扩展名asmx,它应该不是WCF。 答案没有解决他为什么会收到上述错误的问题。

以上是关于无法添加对 SharePoint 列表服务的引用的主要内容,如果未能解决你的问题,请参考以下文章

参考Microsoft.SharePoint.dll

无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.

在 SharePoint 2019 的列表项中添加子列表

C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据

sharepoint 服务器此时无法保存表单。请再试一次

sharepoint 2019 在添加应用程序时看不到我的 .stp 列表模板