Jack Corbett (1/15/2013)
I have recently taken over reporting services for my organization so now I'm getting contacted whenever there are issues. Our Java web application uses the SSRS web services to access and render reports. We are regularly getting Internal Server Errors in the web application when rendering report parameters and reports. I'm not seeing errors in the ReportServerHTTP log but I am seeing errors like this:
library!e38!01/07/2013-17:12:15:: Call to GetReportParametersAction([path to report]).
rshost!818!01/07/2013-17:12:16:: e ERROR: ReadCallback(): failed to read in read callback.
rshost!818!01/07/2013-17:12:16:: e ERROR: Failed with win32 error 0x0026, pipeline=0x00000000006DFE10.
My Binoogle skills have failed me on this one as I can't seem to find any information as to what this error means. Any tips on what it is, where to find out what is, and how to fix it will be much appreciated.
I can't find a GetReportParametersAction method in the Reporting Services 2008 web services documentation, but there is a GetReportParameters method which is probably what the first line is referring to.
The ReadCallback() error is a generic error related to the first step failing to return details about the report parameters to the web application.
Can you list some more details about your environment? Reporting Services 2008 doesn't use IIS, it uses the HTTPD service to run the report manager, but I'm not familiar with your Java application and how it works. I suppose it uses a standard library to interact with reporting services web services (with some tailoring to quirks of the RS web service).
I would be interested to see more of the error log because there's likely more clues as to the exact cause of the error. Are the reports failing, or are you just being proactive about these errors in the web app? If not failing then it might be poorly implemented error handling in the Java app. Which report(s) does the errror happen for? Is it all reports or just some? Maybe the webservice calls are expecting all reports to have parameters so that it can bring them from the report through to internal text entry fields in the Java app and then pass the values back again. If not all reports have parameters the app might not have considered that in the calls it is making to reporting services web service. It might not be something to worry about at all.