So just recently a few of us were pushing some code for a client to their server. Everything was going smooth during our testing after the push until we tested the reports.
We had created a custom reporting solution in .Net using RDLCs. These reports resided in a folder called, of course, “reports” off the root of the project. However, nothing in the “reports” folder was displaying. In fact, we were receiving a “HTTP 500 – Internal server error”…umm…error.
The problem come to find out was the server we were pushing to had SQL Server 2008 R2 Enterprise with SQL Server Reporting Services running, while during development and testing we just had SQL Server Express installed. An issue that has since been resolved.
What occurs is if the server has SQL Server Reporting Services (SSRS) also installed, the service a virtual directory or application in IIS and is causing a conflict with the project.
So how do you fix this? Glad you asked.
Open up Reporting Service Configuration Manager and connect to the server. If there is more than one instance running on the server. Select the instance for your project.
Here’s the whopper (or WOPR for those of you from GenX), this issue can occur even if the service isn’t started. Start the service if it is stopped.
Select Web Service URL from the menu. You will notice a couple things. There is a Virtual Directory called “ReportServer” and the default port is 80.
You may be asking, “hey, the Virtual Directory says ‘ReportServer’ and not ‘Reports’, what’s going on?” Well, from Microsoft’s MSDN:
- The Report Manager virtual directory is used to access Report Manager. By default, the virtual directory name for Report Manager is reports.
- The report server virtual directory provides programmatic access to the Report Server Web service SOAP endpoints. It is also the root node of the report server folder namespace that provides URL addressing for reports, resources, models, shared data sources, and folders stored in the report server. By default, the virtual directory name for the report server is reportserver.
So you have a couple of reserved names here. Let’s fix one thing at a time here. First “ReportServer”. You have a couple of options here. One is to change the name. The other is to change the port. In either case, if you actually have a SSRS project running, this will cause issues. But let’s assume you don’t.
Change the TCP Port to 8080 (my favorite backup port). Click Apply. Click theAdvanced button and verify the HTTP Identities for the service has been updated.
Now let’s do the same thing for the “Reports” directory.
Click Report Manager URL from the menu.
Click the Advanced button.
Edit the TCP port and change it to 8080 (or your favorite backup port). Click OK.
Exit from the manager and all should be better. If your service was stopped to begin with, you may want to stop it. On one occasion, I did have to restart the IIS Server.