2008-06-16

Report Server - SharePoint: IReportViewerMessages or could not be found

If you have Report Server running in a virtual directory under a SharePoint web app.



Error: The type Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages, Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c does not implement IReportViewerMessages or could not be found.



Cause: Look in your SharePoint web.config file you'll see
<add key="ReportViewerMessages" value="Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages, Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />.



Fix: I looked at the Microsoft.SharePoint.Portal.Analytics Namespace and couldn't find a UI.ReportViewerMessages, so I just removed it from the web.config and I haven't experienced any issues.

You can also remove the setting from your ReportServer web.config's just add:

<appSettings>
<remove key="ReportViewerMessages" />

</appSettings>

2008-06-10

Report Server Error: The request failed with HTTP status 400: Bad Request


This also applies to the error message: Microsoft.ReportingServices.UI.Global+RSWebServiceWrapper+CantCommunicateWithReportServerException: The report server is not responding. Verify that the report server is running and can be accessed from this computer.

This took me a little while to figure out, but my initial suspicion was that it was related to the fact I was using it in a Host Header site, ei: I had changed lmhosts or I had multiple web sites using port 80.


Cause:

Report server uses the machine name when setting the config files, but when it tries to reference the url it can't be found because it's in another web site.
In my case the server was called MOSSDEV, and the report server virtual directories were in a web site called premisys.


Fix:


  1. Open "RSWebApplication.config" in the "Report Manager Virtual Directory".
    Right click the virtual directory icon in inetmgr, choose open.
    Default is: C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportManager

  2. Enter the full Report Server URL in the <ReportServerUrl> node.
    Eg:
    <ReportServerUrl>http://premisys/ReportServer</ReportServerUrl>

  3. Delete the <ReportServerVirtualDirectory> value but not the node.

  4. Open "rsreportserver.config" in the "Report Server Virtual Directory".
    Default is: C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer
  5. Change the <urlroot>http://<servername>/ReportServer</urlroot>
    to match your URL.