Posted 21 October 2020, 7:36 pm EST
Hi,
On our local environment (http://localhost:xx) using the JSViewer to generate a large report that for example takes 60 seconds to finish the [i] http://localhost:5098/api/reporting/reports/test.rdlx/render[/i] request, the report runs perfectly. But once we deployed our solution to a live environment using https , the render requests timeout after 30 seconds.
This is a bit disappointing because even if it takes a while a user should be able to decide the amount of data he wants to retrieve. Is there any way to override this default timeout?
This is how we instantiate the JSViewer:
_scope.viewer = GrapeCity.ActiveReports.JSViewer.create({
element: '#viewerContainer',
reportService: {
url: `${_scope.permissions.reportAPIEndPoint}api/reporting`,
securityToken: '42A9CD80A4F3445A9BB60A221D042FCC'
},
availableExports: ['Xml', 'Pdf'],
displayMode: 'single',
reportLoaded: (reportInfo) => { }, //console.log('The report ' + reportInfo.name + ' was successfully loaded!'),
action: (actionType, actionParams) => { }, //console.log('Action type: ' + actionType + '; Action parameters: ' + actionParams),
documentLoaded: () => { }, //console.log('The document is loaded entirely on the server'),
error: (error) => {
if (error.message) {
console.log("Internal error! Please ask administrator.");
console.log(error.message);
}
}
});
And we run the reports like this:
_scope.viewer.openReport(_config.reportType, reportParameters);
P.S: We noticed that even after the render request is finished some Progress requests are still made. Shouldn’t the render request be asynchronous and be ultra fast and then the Progress requests should determine if the rendering has been finished?
Best Regards,
Ricardo Pereira