It seems I've come across yet another AXD related issue. This time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Longhorn server. As soon as the page loaded I was getting JavaScript errors of 'RSClientController is undefined'. The report had been working fine on development boxes, so I was pretty sure it was either related to the deployment or IIS.
In checking the source of the page I found the following entry: <script src="/Reserved.ReportViewerWebControl.axd? OpType=Resource&Version=8.0.50727.817&Name=Scripts.ReportViewer.js" type="text/javascript"></script>
Which of course didn't exist when I pasted the URL into a browser.
The fix for my environment: In IIS Manager, I added a new handler mapping for Reserved.ReportViewerWebControl.axd (Sites\Your WebSite\Handler Mappings, create new mapping) and set it to type Microsoft.Reporting.WebForms.HttpHandler. Without thinking about this too much, it looks like without an explicit mapping for Reserved.ReportViewerWebControl.axd, it matches the default *.axd mapping which (as you'd expect) doesn't work.
I'm not sure if the setup for the Report Web Control is different for IIS7 compared to IIS6, as I've not found any postings talking about fixing this problem in this way. In fact most of them seem to have fixed the issue by modifying the *.axd handler and deselecting 'Verify File Exists' which was already set correctly in my case.
[Updated 10/04/2008] - I'm adding a quick and current screenshot from our box which is running the RTM version of Server 2008 for those of you who were having trouble following my post. I wrote the original post almost a year ago, and I'm not sure whether a few things in the IIS Admin UI were moved/renamed over that time, causing confusion.
So in IIS Manager, navigate to Your Website\Handler Mappings, then Right click and "Add Managed Handler". It should end up looking something similar to this:
Tags: ASP.NET, SQL, WebResource.axd