SharePoint Designer 2010 - list/library There are no items to show in this view - ListData.svc woes
This is one of those SharePoint errors. You know the ones.
Background
I was trying to use SharePoint Designer to customise a list. I opened up SharePoint Designer, and, although I could connect to the site itself, when clicking on the lists/libraries folder, you get a message saying:
“There are no items to show in this view”.
Weird. I tried this on various other web applications (even on the same server) and everything was working fine.
Info
I spent ages looking at the settings between the two web applications - checking Alternate Access Mappings and DNS entries, IIS site bindings, authentication, permissions and everything - and all was fine and dandy. What I soon uncovered is that SPD is relying on a web service to get the List data. This particular service is
http://[yoursite]/_vti_bin/ListData.svc
You can put that address in your browser, and, if all is OK, it will spit out a load of XML for you. But in the case of my “broken” web app - the browser either just choked, no error, no 404 - just a bog standard “IIS has died” type screen, or alternatively I was given endless login prompts that never went away (a la the Disable Loopback shenanigans).
Cue more faffing around to try and find the issue - permissions, server config, backconnectionhostnames and… no. Then I tried a bunch of the other .svc and .asmx files in the _vti_bin folder (e.g., http://[yoursite]/_vti_bin/Client.svc) - and, surprisingly, these were all moreorless OK. So it had to be something to do with ListData.svc, or, more accurately, the list data it was trying to return.
The Solution
After Googling the google out of Google, I found out that you could append parameters to the URL to get specific information on the lists. So for instance, you could go to:
http://[yoursite]/_vti_bin/ListData.svc/Announcements
and this would give you list items in the Announcements list. And yep - on my broken web application, some lists were actually returning XML. So what this clearly pointed to was - drumroll - a broken list somewhere. After a bit of trial and error and head scratching, I found a list, that showed up in All Site Content, but that actually was dead.
(I have a feeling that the feature that deployed it had been removed, but left the list in place. This was on a dev server that has all sorts of junk deployed and retracted.)
But of course you can’t delete the list via the UI… but with a bit of powershell you can:
<br /> $web = Get-SPWeb http://[yoursite]<br /> $list = $web.Lists["Your Broken List"]<br /> $list.Delete()<br />
This kills the list, and -hallelujah - ListData.svc springs in to life again, bringing with it, SharePoint Designer.