Symptom
User may get an error during Report SYNC, where the Ginesys Web is running on HTTPS. The message says,Cannot Sync reports:
Reason: GINESYS Report engine not yet configured or service is not running. Please get in touch with your administrator or call GINESYS helpdesk.
It is also observed that in such condition Ginesys Web works normally. But users may or may not experience issues in Reports operations. Some Report features, like, Report Modification, Template upload / download, Duplicate a system report etc. may alos be impacted.
Observation
Further observation Ginesys Web log may help to narrow down the actual issue. If we check the debug log for Ginesys Web API, then following error message can be seen.
Log Location
\GSL\GINESYS12\WebAPI\Logs\DebugApp.log
Error Message
Ginesys.App.Controllers.ReportManagementController [CompareReportXMLFile] - Return From REPORT Server : RequestEntityTooLarge and Request Entity Too Large
Ginesys.App.Controllers.ReportManagementController [CompareReportXMLFile] - Error in https://ho.server/GinesysReportUI//SaveXML.aspx
The log can be only seen where Ginesys version is 11.150.2 or later. For earlier versions, the above error message may not be printed in the log. But as long as the Web application is running on HTTPS and symptom is same, then we can attempt this suggested work around.
Cause
IIS has a limit for the size of the files users can upload to an application. If the file size exceeds the limit, the application will throw “RequestEntityTooLarge and Request Entity Too Large
” error. The default file upload size is 49 KB (49152 bytes). The application records the log if user tries to upload a file that is bigger than this size.
Why this issue occurs for HTTPS sites? The reason is that the request body must be preloaded during the SSL handshake process. Hence the buffer size exceeds the default limit of 49KB
During client renegotiation process the request entity body must be preloaded using SSL preload. SSL preload will use the value of the UploadReadAheadSize metabase property, which is used for ISAPI extensions
Workaround
We need to set appropriate value uploadReadAheadSize
in IIS Server. The tested value is 10MB (10485760 bytes), hence the value for uploadReadAheadSize
should be 10485760.
Following steps guide on how to do the necessary configuration. change.
Method 1
Open IIS Manager (inetmgr)
Select the site. Most of the cases, Ginesys is installed under Default Web Site.
Double click Configuration Editor from Management section in right pane.
In Configuration Editor window, in Section field drop-down, select
system.webServer
and thenserverRuntime
[See screenshot]Modify the value beside
uploadReadAheadSize
. Type 10485760.Click Apply.
Method 2
Run command prompt as administrator and set current directory as C:\Windows\System32\inetsrv
Run the following command to set the value of uploadReadAheadSize as 10MB.
C:\Windows\System32\inetsrv\appcmd.exe set config -section:system.webserver/serverruntime /uploadreadaheadsize:10485760 /commit:apphost
Method 3
Modify the IIS configuration file manually.
This method advanced understanding of IIS, hence preferred to be done by experts. Keep a backup of configuration file before proceed for modification.
Go to IIS server configuration directory
C:\Windows\System32\inetsrv\config
Keep a backup of the file
applicationHost.config
.Open the config file
applicationHost.config
in text editor (run the editor with elevated access).Find the section
<serverRuntime />
. Insert the following line immediate next line.<serverRuntime uploadReadAheadSize="10485760" />
Restart the IIS (iisreset).
For understanding of IIS configuration parameters visit Microsoft page.
https://docs.microsoft.com/en-us/iis/configuration/system.webServer/serverRuntime
Useful community posts:
https://forums.iis.net/t/1169257.aspx
https://techcommunity.microsoft.com/t5/iis-support-blog/solution-for-request-entity-too-large-error/ba-p/501134
Add Comment