I have implemented an embedded report viewer in an ASP.NET page that displays a report hosted on another server. My problem is that from time-to-time, I get an error [Microsoft.Reporting.WebForms.HttpHandlerInputException: Missing URL parameter: Name] for every page that my report generates. My users don't seem to see the error but the errors are logged and sent to me.
I have looked around and have found out that the error is caused by a URL (OpType=Resource&Version=8.0.50727.762&Name=Icons.LastPageDisabled.gif) that the report viewer generates. Somehow the "&" in the URL is changed to "&" and makes the control unable to find the name of the file. However if I manually replaced the invalid characters then I can find the missing .js script or image. Some people also suspect that this occurs because of this HTTP header "HTTP_X_BLUECOAT_VIA". So far I have implemented one suggestion that checks for this header at the beginning of a request and then replaced the invalid character(&) with the correct character (&). However I am still facing the same issue. I checked my code and I do call a refresh() and set async to true. Some people suggested turning of Async, but it doesn't always help. I am using report viewer version 8.0.50727.762. Maisie
You are correct that we have seen this type of error when third party proxies rewrite or encode the URLs generated by the ReportViewer incorrectly. The individual settings of the viewer (such as AsyncRendering) won't have any effect here since the problem is not specific to the viewer. I recommend investigating any configuration settings on your proxy that may be causing this behavior. And as others have noted, they have been able to workaround this problem by undoing the encoding added by the proxy.