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

7
我正在尝试向SharePoint列表服务添加引用,位于https://abcd/_vti_bin/lists.asmx,但是我遇到了以下错误:

下载 'https://abcd/_vti_bin/lists.asmx/_vti_bin/ListData.svc/$metadata' 时出错。 请求失败,HTTP状态码为404:未找到。 元数据包含无法解析的引用:'https://abcd/_vti_bin/lists.asmx'。 HTTP请求的客户端验证方案为“匿名”,但身份验证标头来自服务器:“Negotiate,NTLM”。 远程服务器返回错误:(401) 未经授权。 如果该服务在当前解决方案中定义,请尝试生成该解决方案并重新添加服务引用。

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

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

非常感谢任何帮助。

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

2个回答

0
  • 右键单击“引用”文件夹,然后单击“添加服务引用”。
  • 在“添加服务引用”向导中,单击“高级...”按钮。
  • 在“高级”向导中,单击“添加 Web 引用...”,然后添加服务引用。

how to add sharepoint list.asmx web service


-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步,当我点击“确定”按钮时,由于上述错误而出现错误。 - Thomas
你是在使用简单的 Web 服务还是 WCF? - Gaurav Agrawal
这是Sharepoint foundation 2010提供的默认List webservice。由于它的扩展名为asmx,因此它不应该是WCF。 - Thomas
3
答案没有回答为什么他会收到所述错误的问题。 - lem.mallari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接