【问题标题】:Cannot add reference to SharePoint list service无法添加对 SharePoint 列表服务的引用
【发布时间】: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

【问题讨论】:

    标签: c# asp.net .net sharepoint sharepoint-2010


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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我遵循完全相同的步骤。问题出在第 5 步,当我单击“确定”按钮时,由于上述错误而出现错误。
      • 您使用的是简单的 Web 服务还是 WCF?
      • 它是Sharepoint Foundation 2010提供的默认List webservice。由于它有一个扩展名asmx,它应该不是WCF。
      • 答案没有解决他为什么会收到上述错误的问题。
      猜你喜欢
      • 2011-10-08
      • 2014-05-08
      • 2011-09-13
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多