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

4 posts, 0 answers
  1. Josue
    Josue avatar
    8 posts
    Member since:
    Jan 2016

    Posted 07 Jul Link to this post

    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

  2. Katia
    Admin
    Katia avatar
    309 posts

    Posted 07 Jul Link to this post

    Hi Josue,

    Check if the TypeReportSource.TypeName 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 case 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
  3. DevCraft banner
  4. Josue
    Josue avatar
    8 posts
    Member since:
    Jan 2016

    Posted 12 Jul in reply to Katia Link to this post

    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
  5. Katia
    Admin
    Katia avatar
    309 posts

    Posted 14 Jul Link to this post

    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
Back to Top