views:

1269

answers:

4

So far in this project I have two reports in VS2008/BIDS. The first one contains 1 tablix and is about 100k. The second one contains 3 tablixes (tablices?) and is about 257k. I can successfully deploy the smaller report from VS and I can upload it from the Report Manager in IE. I can view/run it from Report Manager and I can get to the Report Server (web service) URL from my browser just fine. Everything is done over HTTPS and there is nothing wrong with the certificates.

With the larger report, the error I get in VS is "The operation has timed out" after about 100 seconds. The error when I upload from IE is "The underlying connection was closed: An unexpected error occurred on a send" after about 130 seconds.

In the RSReportServer.config file I tried changing Authentication/EnableAuthPersistence from true to false and restarting the service, but still get the error. I have the key "SecureConnectionLevel" set to 2. Changing this to 0 and turning off SSL is not going to be an option. I added a registry key named "MaxRequestBytes" to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters and set it to 5242880 (5MB) and restarted the HTTP and SRS services as suggested in a forum post by Jin Chen of MSFT.

I still cannot upload the larger report. This is on MS SQL 2008 and WS 2003. Below is part of a log file entry from ...\Reporting Services\LogFiles when I attempted to upload from IE.

library!WindowsService_0!89c!02/10/2010-07:57:57:: i INFO: Call to CleanBatch() ends
ui!ReportManager_0-1!438!02/10/2010-07:59:33:: e ERROR: The underlying connection was closed: An unexpected error occurred on a send.
ui!ReportManager_0-1!438!02/10/2010-07:59:34:: e ERROR: HTTP status code --> 500
-------Details--------
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. 
---> System.IO.IOException: Unable to write data to the transport connection: An established connection was aborted by the software in your host machine. 
---> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
   at System.Net.Sockets.Socket.MultipleSend(BufferOffsetSize[] buffers, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.MultipleWrite(BufferOffsetSize[] buffers)
   --- End of inner exception stack trace ---
   ...
+3  A: 

I think I figured this one out. The blog entry about increasing the maximum request bytes stated to add a registry key named "MaxRequestBytes" to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters, which I did, and then restarted the appropriate services. Since I still had the issue I kept looking for a solution, and as it turns out, "MaxRequestBytes" should not be added as a registry key, but as a DWORD value. See Http.sys registry settings for IIS for more information. For MaxRequestLength the default value is 16384 and the max is 16777216 (16 MB). I have mine set to 1048576 (1 MB).

Another thing I looked at was the maxRequestLength attribute in < httpRuntime in C:\Program Files\Microsoft SQL Server\MSRS10.SWA\Reporting Services\ReportServer\web.config which has a default value of 4096 KB (4 MB), which is large enough. Reference: < httpRuntime> Element.

The last thing to verify was that HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableTCPChimney was already set to 0.

The server was rebooted for another reason after making the MaxRequestLength registry change and I am able to upload all reports now, including the larger one, all via HTTPS.

Bratch
+1  A: 

Hi, I had the same issue, I did everything according to your post and it solved the issue. thanks.

Eddie R
I was surprised that no one else here had ran into this issue. Glad it helped someone else too.
Bratch
+1  A: 

GREAT!!!!!!!! Following your instructions I solved the same issue. I had some test rdl files about 6-9Kb, and others of 250Kb. These arised this issue, not the smaller ones. I had no SSL security activated in my development pc (windows XP SP3 - SQL Server 2008 SP1). I had this problem both from Report Manager and VS 2005 (or 2008, it was the same). I have also an istance of SQL Server 2005, but I never had this problem. Only w.r.t. SQL Server 2008. Another consideration: till some weeks ago all worked fine. This problem arised since some weeks. At last: only changing maxRequestLength in web.config (Report Server) doesn't resolve this problem. It's really a strange behaviour considering that SSRS 2008 is not using IIS, but its application server; and SSRS 2005 uses IIS. So the registry DWORD (that seems to be resolutive) is a value that affect IIS; but I never had this problem under SSRS 2005 that uses IIS! Really strange, guys. Cheers Paolo

Paolo
+1  A: 

thanks a lot for this post - we had the same exact issue and we solved it with your helpful post!!!

Aedna