We recently migrated some applications from SharePoint 2007 to SharePoint 2010. The application uses the SiteData.asmx web service.
After the migration there are Access Denied errors, withtout any additional information.
The following sample code reproduces the problem:
var service = new SiteData(); service.Url = url + "_vti_bin/sitedata.asmx"; string web;string site;string bucket;string list;string item; service.GetURLSegments(url + "Docs/SomeDocumentLibrary/Test/testafterupdate/2007-00152-01-E.doc", out web, out bucket, out list, out item);
The point is to get the listId from the url.
The error I get is: Server was unable to process request. ---> Access is denied.
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object parameters) at ConsoleApplication1.test.SiteData.GetListCollection(_sList& vLists) at ConsoleApplication1.Program.Main(String args)
The exact same error comes back on some of the other web methods (getlistitems, getlist, getlistcollection)
Other web metods do work fine (GetSiteUrl, GetSiteAndWeb)
The error happens when running as a farm administrator. The same error happens running on a local development machine, which makes me think it has nothing to do with user permissions.
Has anyone seen this error before, or managed to solve it?
The error goes away when only Windows Authentication is configured. Is there a way to fully enable the old web services with claims based authentication?
The real issue is Multiple Membership Providers not really working in a lot of situations. We have to following issues:
- legacy web services do not fully work.
- odata does not work. (http://localhost/_vti_bin/listdata.svc/List hangs indefinitly)
- Livewriter can not connect to blog site
- opening office documents in edit mode gives access denied, but they can actually be opened.
For applications using SharePoint web services we will extend the web application and have an internal url with only Windows authentication enabled.