Come direbbe un mio amico, un comportamento inquietante mi ha rovinato quasi un’intera giornata…
Scenario: macchina SQL Server 2005 SP2 con Reporting Services acceduti via URL.
I report si vedono perfettamente dal Report Manager (http://srvsql/Reports) ma non dal Report Server (http://srvsql/Reportserver)
Questo quello che si ottiene:

La toolbar non viene renderizzata ed il report non viene caricato / visualizzato (il report viene invece elaborato correttamente se viene specificato sulla URL il parametro rc:toolbar=false).
Oltre a questo decine di errori javascript, come questi:
- Error: 'RSClientController' is undefined
- Error: 'ReportViewerHoverButton' is undefined
La macchina è un Win 2003 Srv R2 e quindi non si tratta del “noto” problema di IIS7:
Report Viewer Toolbar does not render properly on IIS 7.0
La soluzione, dopo diversi deliri, è stata la seguente:
1. accedere ad IIS ed entrare nelle proprietà dell’applicazione ReportServer
2. accedere alla sua configurazione
3. verificare la “wildcard application maps” per il filto ISAPI aspnet_isapi.dll
4. deselezionare (perchè era selezionato!) il checkbox “verify that file exists”
Ok, tutto regolare!
Perchè questo flag deve essere disabilitato?
Perchè le richieste che arrivano ad IIS sono (basta aprire il sorgente HTML di un report) anche di questo tipo:
<script src="/ReportServer/Reserved.ReportViewerWebControl.axd?…
Questo file axd, in realtà, non esiste ma viene trattato dai binari del report server :-)
La toolbar, infatti, non esiste fisicamente da nessuna parte, ma si trova all’interno del compilato dell’applicazione.
Mi resta solo una domanda (per cui ora non ho risposta): chi / cosa aveva selezionato il checkbox incriminato?!?!