Jump to content
We've recently updated our Privacy Statement, available here ×
  • rest_v2 scheduled job won't run if it has a Date parameter


    Friendly User
    • Features: Scheduler, Web Services Version: v6.1

    Problem:

    A job is scheduled jasper REST_v2 API with date parameter, job descriptor some thing like:

    [toc]
    {
        "version"              : 0,
        "username"             : "jasperadmin",
        "label"                : "Some label",
        "description"          : "Some descr",
        "trigger"              : { "simpleTrigger": { "version"               : 0,
                                                      "timezone"              : "America\/New_York",
                                                      "calendarName"          : null,
                                                      "startType"             : 1,
                                                      "startDate"             : null,
                                                      "endDate"               : null,
                                                      "misfireInstruction"    : 0,
                                                      "occurrenceCount"       : 1,
                                                      "recurrenceInterval"    : -1,
                                                      "recurrenceIntervalUnit": ""
                                                    }
                                 },
        "source"               : { "reportUnitURI": "\/some\/path\/toReport",
                                   "parameters"   : { "parameterValues": { "EndDate"         : "2015-05-07 00:00",
                                                                           "StartDate"       : "2015-05-01 00:00",
                                                                           "REPORT_TIME_ZONE": "America\/New_York",
                                                                           "UserID"          : 105
                                                                         }
                                                    }
                                 },
        "baseOutputFilename"   : "some output",
        "outputLocale"         : "en-US",
        "mailNotification"     : { "version"                          : 0,
                                   "toAddresses"                      : { "address": ["user@jasperserver"] },
                                   "ccAddresses"                      : { "address": [] },
                                   "bccAddresses"                     : { "address": [] },
                                   "subject"                          : "Some subject",
                                   "messageText"                      : "See attached report.",
                                   "skipEmptyReports"                 : false,
                                   "messageTextWhenJobFails"          : null,
                                   "includingStackTraceWhenJobFails"  : false,
                                   "skipNotificationWhenJobFails"     : false,
                                   "resultSendType"                   : "SEND_ATTACHMENT"
                                 },
        "alert"                : null,
        "outputTimeZone"       : "America\/New_York",
        "repositoryDestination": { "version": 0,
                                   "folderURI"                        : null,
                                   "sequentialFilenames"              : false,
                                   "overwriteFiles"                   : false,
                                   "outputDescription"                : null,
                                   "timestampPattern"                 : null,
                                   "saveToRepository"                 : false,
                                   "defaultReportOutputFolderURI"     : null,
                                   "usingDefaultReportOutputFolderURI": false,
                                   "outputLocalFolder"                : null
                                 },
    
    

    When this request is sent to the server an error is thrown:

    An error occurred while executing it.

    [see nested exception: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date]

    at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.throwJobExecutionException(ReportExecution Job.java:338)

    at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.checkExceptions(ReportExecutionJob.java:33 0)

    at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.executeAndSendReport(ReportExecutionJob.java:605)

    at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.execute(ReportExecutionJob.java:222)

    at com.jaspersoft.ji.report.options.engine.ReportOptionsExecutionJob.execute(ReportOptionsExecutionJob.java:49)

    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)

    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)

    Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setDate(JRJdbcQueryExecuter.java:649)

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:577)

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.setStatementParameter(JRJdbcQueryExecuter.java:399)

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter$1.visit(JRJdbcQueryExecuter.java:332)

    at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter$QueryParameter.accept(JRAbstractQueryExecuter.java:157)

    at net.sf.jasperreports.engine.query.JRAbstractQueryExecuter.visitQueryParameters(JRAbstractQueryExecuter.java:646)

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:317)

    at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:196)

    at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1114)

    at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:691)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1314)

    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:931)

    at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:120)


    Solution:

    First of all you need to make sure that the ContentType of the reuest is set to application/job+json. This is very important because otherwise the type unmarshalling will be incorrect and cause errors.

    Secondly to pass the values you need to use the following syntax: "parameterName": ["value"]

    Something like this:

    "parameters": { "parameterValues": { "date": ["2014-12-01T00:00:00+00:00"] 
                                       }
                  }
    

    Here is an example of a valid and correct job descriptor:

    Content-Type: application/job+json
    
    {
        "version"              : 0,
        "username"             : "superuser",
        "label"                : "test",
        "description"          : "",
        "trigger"              : { "simpleTrigger": { "id"                : 3816,
                                                      "version"           : 0,
                                                      "timezone"          : "America/Los_Angeles",
                                                      "calendarName"      : null,
                                                      "startType"         : 2,
                                                      "startDate"         : "2015-09-26 10:00",
                                                      "endDate"           : null,
                                                      "misfireInstruction": 0,
                                                      "occurrenceCount"   : 1,
                                                      "recurrenceInterval": null
                                                    }
                                 },
        "source"               : { "reportUnitURI": "/organizations/organization_1/AdditionalResourcesForTesting/Reports_With_Controls/Date/Date_equals_2_1_1",
                                   "parameters"   : { "parameterValues"   : { "date": ["2014-12-01T00:00:00+00:00"] }
                                                    }
                                 },
        "baseOutputFilename"   : "Cascading_multi_select_report",
        "outputLocale"         : "",
        "mailNotification"     : null,
        "alert"                : { "id"                     : 0,
                                   "version"                : -1,
                                   "recipient"              : "OWNER_AND_ADMIN",
                                   "toAddresses"            : { "address": [] },
                                   "jobState"               : "FAIL_ONLY",
                                   "messageText"            : null,
                                   "messageTextWhenJobFails": null,
                                   "subject"                : null,
                                   "includingStackTrace"    : true,
                                   "includingReportJobInfo" : true
                                 },
        "outputTimeZone"       : "America/Los_Angeles",
        "repositoryDestination": { "id"                               : 3817,
                                   "version"                          : 0,
                                   "folderURI"                        : "/organizations/organization_1/reports",
                                   "sequentialFilenames"              : false,
                                   "overwriteFiles"                   : false,
                                   "outputDescription"                : "",
                                   "timestampPattern"                 : null,
                                   "saveToRepository"                 : true,
                                   "defaultReportOutputFolderURI"     : null,
                                   "usingDefaultReportOutputFolderURI": false,
                                   "outputLocalFolder"                : null,
                                   "outputFTPInfo"                    : { "userName"  : null,
                                                                          "password"  : null,
                                                                          "folderPath": null,
                                                                          "serverName": null
                                                                        }
                                 },
        "outputFormats"        : { "outputFormat": ["PDF"] }
    }
    

     

     

     


    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...