This is a migrated thread and some comments may be shown as answers.

Error in reportViewer HTML5 - Client With ID - 'XXXX-XXX' not found. Expired

7 Answers 1028 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Josue
Top achievements
Rank 1
Josue asked on 07 Jul 2016, 01:16 PM

Hi,

I'm implemented a ReportViewer HTML5 on my page, but some clients the report trigger a error.

 

1.Unable to get report parameters.
2.Client with ID - 'XXXXXX-XXXX' not found. Expired
3. 
4.and
5. 
6.Error creating report instance (Report = <Proyect>.<ReportName>, <Proyect>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null).
7.Client with ID 'XXXXXX-XXXX' not found. Expired.

 

I found this post with same error but the user not post a solution: Getting Error Client with ID - 'XXXXXX-XXXX' not found. Expired 

I appreciate your prompt help

 

PD: I can't upload Screenshots for security restrictions on my work

 

Best regards

7 Answers, 1 is accepted

Sort by
0
Katia
Telerik team
answered on 07 Jul 2016, 02:18 PM
Hi Josue,

Check if the TypeReportSource. property was configured correctly for the viewer. 

Also, check the Reporting REST service settings - the configuration of the ReportsControlerBase.
Verify that each application that has a Reporting REST service has a unique HostAppId. Also, if you are using the default FileStorage option, each IIS process (application) must have access to the cache folder. In  of web farms, load balancing you need to switch to the MsSqlServerStorage or RedisStorage option - REST Service Storage.

If the error is caused due to expired ClientSessionTimeout, test using a greater value, but do not set it to infinity as the viewer's records will never be deleted from the cache storage which will affect the general performance. Note that the ClientSessionTimeout expires only if there is no interaction with the viewer for the set time, where each interaction extends the time. When the time expires, the page must be refreshed. There are workarounds like refreshing the viewer on a given interval or refreshing the whole page. 


If the issue persists, please open a support ticket and attach SAZ file generated by Fiddler while testing the application. This will allow us to check responses and error messages.

Regards,
Katia
Telerik by Progress
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Josue
Top achievements
Rank 1
answered on 12 Jul 2016, 02:40 PM

Hi Katia,

i'm so confused, the problem appears in only some clients (users)

this is my reportViewer string:

1.<telerik:ReportViewer ID="rptviewerHC" runat="server" width="9in" Height="11.5in"
2.ScaleMode="FitPageWidth" ParametersAreaVisible="False" ViewMode="PrintPreview"
3.ServiceUrl="~/api/reports/"
4.TemplateUrl="~/Resources/Html5/ReportViewer/templates/telerikReportViewerTemplate.html"
5.DocumentMapVisible="False" EnableTheming="False" EnableViewState="False">
6.</telerik:ReportViewer>

and my codebehid:

1.reportSource.Identifier = GetType(rptName).AssemblyQualifiedName
2.reportSource.Parameters.Add("param1", value)
3.reportSource.Parameters.Add("param2", value2)
4..
5..
6..
7.reportSource.Parameters.Add("paramN", valueN)
8.Me.rptviewerHC.ReportSource = reportSource

this my controller class:

01.Imports Telerik.Reporting.Cache.Interfaces
02.Imports Telerik.Reporting.Services.Engine
03.Imports Telerik.Reporting.Services.WebApi
04.Imports System.IO
05. 
06.'The class name determines the service URL.
07.'ReportsController class name defines /api/report/ service URL.
08.Public Class ReportsController
09.    Inherits ReportsControllerBase
10. 
11.    Shared configurationInstance As Telerik.Reporting.Services.ReportServiceConfiguration
12. 
13.    Shared Sub New()
14.        'This is the folder that contains the trdx or trdp report definitions
15.        'In this case this is the Reports folder
16.        Dim appPath = HttpContext.Current.Server.MapPath("~/")
17.        Dim reportsPath = Path.Combine(appPath, "Reports")
18. 
19.        'Add resolver for trdx report definitions,
20.        'then add resolver for class report definitions as fallback resolver;
21.        'finally create the resolver and use it in the ReportServiceConfiguration instance.
22.        Dim resolver = New ReportFileResolver(reportsPath) _
23.                       .AddFallbackResolver(New ReportTypeResolver())
24. 
25.        'Setup the ReportServiceConfiguration
26.        Dim reportServiceConfiguration As New Telerik.Reporting.Services.ReportServiceConfiguration()
27.        reportServiceConfiguration.HostAppId = "Html5DemoApp"
28.        reportServiceConfiguration.ReportResolver = resolver
29.        reportServiceConfiguration.Storage = New Telerik.Reporting.Cache.File.FileStorage()
30.        ' reportServiceConfiguration.ReportSharingTimeout = 0
31.        ' reportServiceConfiguration.ClientSessionTimeout = 15
32.        configurationInstance = reportServiceConfiguration
33.    End Sub
34. 
35.    Public Sub New()
36.        'Initialize the service configuration
37.        Me.ReportServiceConfiguration = configurationInstance
38.    End Sub
39.End Class

I need to set this parameters to keep alive the session ?

1.' reportServiceConfiguration.ReportSharingTimeout = 0
2.' reportServiceConfiguration.ClientSessionTimeout = 15

Why the error occurs when the window is opened for the first time in some cases?

 

Regards,

Josue
0
Katia
Telerik team
answered on 14 Jul 2016, 11:22 AM
Hello Josue,

It seems like the client(viewer) cannot be found in the cache records as it has expired. Thus, test extending the ClientSessionTimeout of the Reporting REST service (the default value is 15 minutes).
For more details, please check 
Cache Management.

Also, check the storage options. FileStorage is suitable if the application is hosted on a single instance. In this case, the application must have proper read/write rights for the folder specified by the FileStorage.
For a web farm, the storage options are MsSqlServerStorage or RedisStorage - REST Service Storage.


Regards,
Katia
Telerik by Progress
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
IT Department
Top achievements
Rank 1
answered on 17 Mar 2017, 07:17 PM

I am getting this exact error in production only. I'm unable to recreate this locally while debugging or in our testing environment which is a single server in house. 

 

Our production server consists of two servers with load balancing. Our clients wish to increase the login session timeout to 4hrs or 240 minutes. Changing the ReportSharingTimeout and the ClientSessionTimeout basically doesn't work in this case. When leaving a report idle for 20 minutes and trying to navigate using the back/forward buttons I am receiving this exact message prompting the user to refresh.

 

I have created the MsSqlServerStorage but am unsure how to implement it.

0
IT Department
Top achievements
Rank 1
answered on 17 Mar 2017, 07:38 PM

I am experiencing this exact same error in production only. Our production consists of two servers in a load balanced environment.

I've set the client session and the report sharing timeouts to 240 (4hrs) and experience these timeout errors after 20 minutes of no activity. Whenever users navigate back/forward within the viewer these errors pop up. Is this a case where i need to use Telerik.Reporting.Cache.MsSqlServerStorage? I have already created the database for this but is there a detailed coding example for how to implement this?

0
IT Department
Top achievements
Rank 1
answered on 17 Mar 2017, 07:38 PM
I am experiencing this exact same error in production only. Our production consists of two servers in a load balanced environment.
I've set the client session and the report sharing timeouts to 240 (4hrs) and experience these timeout errors after 20 minutes of no activity. Whenever users navigate back/forward within the viewer these errors pop up. Is this a case where i need to use Telerik.Reporting.Cache.MsSqlServerStorage? I have already created the database for this but is there a detailed coding example for how to implement this?
0
Stef
Telerik team
answered on 22 Mar 2017, 01:28 PM
Hello,

The Reporting REST Service (WebAPI controller)) and HTML5 Viewer work in client-server architecture independent from the web application custom settings like forms authentication and/or session. You will have to synchronize the custom settings' timeouts with the ajax requests sent by the viewer to the service on submitting a request.

For example and further details, please check this forum post.


Regards,
Stef
Telerik by Progress
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
General Discussions
Asked by
Josue
Top achievements
Rank 1
Answers by
Katia
Telerik team
Josue
Top achievements
Rank 1
IT Department
Top achievements
Rank 1
Stef
Telerik team
Share this question
or