如何访问特定SharePoint列表Web服务的服务定义?

时间:2011-06-03 12:06:00

标签: sharepoint-2010

我在访问Web服务时遇到问题?wsdl for SharePoint列表,虽然我可以看到操作列表。

例如,对于以下URL:

://team/sites/test/_vti_bin/Lists.asmx - 返回操作列表

://team/sites/test/_vti_bin/Lists.asmx?WSDL - 返回wsdl文档

://team/sites/test/Lists/TestList1/_vti_bin/Lists.asmx - 返回操作列表

://team/sites/test/Lists/TestList1/_vti_bin/Lists.asmx?WSDL - 返回404错误(下面粘贴完整错误的示例)。

我已经检查了几个SP安装,我看到所有这些都有相同的行为,我也尝试以管理员身份登录到Web服务器并调用页面,每次都得到相同的结果。我还检查了注册表中的DisableLoopbackCheck是否设置为1。

是否存在可用于特定列表的WSDL,仅针对通用列表类型,即从/_vti_bin/Lists.asmx?WSDL获取WSDL并通过/// _ vti_bin / Lists访问实际服务。 asmx,或者我在这里得到了错误的结尾?

任何帮助都会被接受。

错误文字:

  

下载时出错   'http://team/sites/test/Lists/Repairs%20Services%20Customer%20Satisfaction%20TEST/_vti_bin/Lists.asmx?wsdl'。   请求失败,HTTP状态为404:未找到。元数据包含   无法解决的引用:   'http://team/sites/test/Lists/Repairs服务客户满意度   TEST / _vti_bin / Lists.asmx?WSDL”。 HTTP请求未经授权   客户端身份验证方案'匿名'。身份验证标头   从服务器收到的是'NTLM'。远程服务器返回了   错误:(401)未经授权。如果服务是在当前定义的   解决方案,尝试构建解决方案并添加服务引用   试。

2 个答案:

答案 0 :(得分:0)

看一下这篇博文:

http://nickgrattan.wordpress.com/2007/07/27/disco-error-creating-sharepoint-web-service-reference/

总结:
要解决此问题,请在“添加Web引用”对话框的浏览器视图中单击“服务描述”。这显示了Web服务的WSDL,并允许您输入Web引用名称。这相当于使用参数“?WSDL”输入以下URL。

答案 1 :(得分:0)

我还在sharepoint.stackexchange.com上询问了这个问题,并确认WSDL存​​在于Lists级别而不是单个列表实例。