Details
-
Fix
-
Status: Resolved (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
If you want to add an event via ./bin/jobscheduler_events.(sh|cmd) then you get the error
Job Scheduler response: Error XML-ERROR [:1: validity error : Validation failed: no DTD found ! <add_order job_chain='/sos/events/scheduler_event_service'><params><param name=' ^ :1: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xFE 0x3F 0x78 0x6D _ON_RESCHEDULE' value='false'/><param name='JOBSCHEDULEREVENTJOB.EVENTS' value=' ^]
This script creates an order for the job chain /sos/events/scheduler_event_service.
This order gets all variables from the job environment which starts with $SCHEDULER_PARAM_ as parameter.
Now this environment contains a variable $SCHEDULER_PARAM_JOBSCHEDULEREVENTJOB.EVENTS with a value which leads to this error.
This functionality will be removed.
If you want additional parameters in the order then you must use the already existing -d option of /bin/jobscheduler_events.(sh|cmd).
Example (job has parameter foo="bar"):
<job> <params> <param name="foo" value="bar"/> </params> <script language="shell"><![CDATA[ echo hallo "$SCHEDULER_HOME/bin/jobscheduler_event.sh" -x $? -e my_event -d "foo=$SCHEDULER_PARAM_FOO" ]]></script> <run_time/> </job>
WORKAROUND
For Windows insert the following red line in line 638 of .\bin\jobscheduler_events.cmd
@rem add environment variables starting with SCHEDULER_PARAM_ to parameters
set SCHEDULER_PARAM_JOBSCHEDULEREVENTJOB.EVENTS=
set SCHEDULER_PARAM_ 1> %TEMP%%TMP_DIR%%TMP_SUFFIX% 2>nul
For Linux insert the following red line in line 327 of ./bin/jobscheduler_events.sh
test "$pname" = "" && continue
test "$pname" = "jobschedulereventjob.events" && continue
pvalue=`$my_echo "$scheduler_param" | cut d = -f 2 -s`