【Sharepoint 如何解决Reference web service in Sharepoint出错】分享给互联网技能从业者学习和参考。
当我们在VS或网页中引用Sharepoint 网站的Web service时,可能会遇到如下报错The document at the url http://server:port/_vti_bin/UserGroup.asmx was not recognized as a known document type.
The error message from each known type may help you fix the problem:
- Report from 'XML Schema' is 'The document format is not recognized (the content type is 'text/html; charset=utf-8').'.
- Report from 'http://server:port/_vti_bin/UserGroup.asmx' is 'The document format is not recognized (the content type is 'text/html; charset=utf-8').'.
- Report from 'DISCO Document' is 'There was an error downloading http://server:port/_vti_bin/UserGroup.asmx?disco'.'.
- The request failed with HTTP status 404: Not Found.
- Report from 'WSDL Document' is 'The document format is not recognized (the content type is 'text/html; charset=utf-8').'.
Metadata contains a reference that cannot be resolved: 'http://server:port/_vti_bin/UserGroup.asmx'.
Metadata contains a reference that cannot be resolved: 'http://server:port/_vti_bin/UserGroup.asmx'.
If the service is defined in the current solution, try building the solution and adding the service reference again.
那么可以从以下几个方面来试着解决此问题
1.在你的URL后面键入 ?wsdl
如:(http://server:port/_vti_bin/UserGroup.asmx?wsdl)
2.点击service description如下图
3.url地址应指向为Central Admin site而不是你创建的 site collection。如此也可解决
例如我们有如下web Applications
1. Sharepoint Central Administration v4 port:-110 http://server:110/_vti_bin/UserGroup.asmx
2. sharepoint port:-80 http://server:80/_vti_bin/UserGroup.asmx
3. sharepoint port:-220 http://server:220/_vti_bin/UserGroup.asmx
那么就把url指向http://server:110/_vti_bin/UserGroup.asmx,而不是其它两个你自己创建的site collection
4.找到正确的url地址。
如果你键入的url有错,你也会遇到此问题,
例如:如果 http://moss2010:810/sites/YourSite/_vti_bin/list.asmx 是你的webservice真正所在的的url地址
而你却引用 http://moss2010:810/YourSite/_vti_bin/lists.asmx (removed the folder sites) ,如此虽然还是可以产生asmx page 但是却无法产生disco或 wsdl文件。
你会得到 404报错或类似错误 Report from 'DISCO Document' is 'There was an error downloading 'http://server:port/_vti_bin/list.asmx?disco'.'.
- The request failed with HTTP status 404: Not Found.