http://<Job Server Host>/jobs/request/<JobDefinition>?<param1>=<value1>&<param2>=<value2>...
- <Job Server Host>: Name und Port des Job Servers.
- <JobDefinition>: Name der Jobdefinitionsdatei, die für den Job zu verwenden ist.
- <param1>=<value1>&<param2>=<value2>: Parameter und Parameterwerte (Schlüssel-Wert-Paare), die an Actions innerhalb der Jobdefinition übergeben werden können.
Die URL kann durch direkte Eingabe oder mit Hilfe einer Tabelle (form post) erzeugt und übergeben werden.
Direkte Eingabe:
http://localhost:8787/jobs/request/jobdef_web?file=K:\JobServer\input\MyProj.px
Beschreibung:
Es wird ein Job (jobdef_web) gestartet, der den Web Service Trigger verwendet und an das Skript den Parameter file mit dem Pfad K:\JobServer\input\MyProj.px übergibt.
Sowie der Job gestartet ist, erhält der Job Server Statusinformationen zum Fortschritt:
Jobdefinition für dieses Beispiel:
<?xml version="1.0"?>
<jobdefinition name="testJob" continueOnError="false" model="K:\JobServer\model.eox" xmlns:xi="http://www.w3.org/2001/XInclude">
<webserviceTrigger>
<failedFolder value="K:\JobServer\error" />
<outputFolder value="K:\JobServer\output" />
</webserviceTrigger>
<actions>
<action name="T_Mechatronic_ModularSystem.Action.ImportPXAction" arguments="List{trigger.params.file}" />
<action name="Engineering.ExportPXCommand" arguments="List{'TestProj',trigger.additionalResultsDir + 'proj.px',true}" />
<action name="Customizing_Engineering.SetResultDataAction"/>
</actions>
</jobdefinition>
Erzeugen mit Hilfe einer HTML Form (Post-Method):
Die Tabelle wird als HTML-Datei bereitgestellt. Der Inhalt besteht aus Schlüssel-Wert-Paaren, die in zwei Spalten angeordnet sind.
<html>
<body>
<h1>Configuration</h1>
<form action="http://jobserver:8686/jobs/request/jobdef5" method="post">
<table>
<tr>
<td>EAN</td>
<td><input type="text" name="EAN" value="4016779578639" /></td>
</tr>
<tr>
<td>Weight</td>
<td><input type="text" name="Weight" value="4000" /></td>
</tr>
<tr>
<td>MaxSpeed</td>
<td><input type="text" name="MaxSpeed" value="240" /></td>
</tr>
<tr>
<td>MaxFunctiongroups</td>
<td><input type="text" name="MaxFunctiongroups" value="5" /></td>
</tr>
<tr>
<td>Option</td>
<td><input type="text" name="Option" value="Inspect" /></td>
</tr>
<tr>
<td>js.queuedJobName</td>
<td><input type="text" name="js.queuedJobName5" value="Job_5" /></td>
</tr>
</table>
<input type="submit" value="Post job" />
</form>
</body>
</html>
Beschreibung:
Das Formular ist vom Tag <form> umhüllt. Das Attribut action spezifiziert die URL der Jobdefinition im Job Server, die zur Anwendung kommen soll. Um die Tabelle als form post zu übergeben, wird das Attribut method mit dem Wert post angegeben.
Innerhalb des Tags <forms> werden mit Hilfe von <input> Tags beliebig viele Parameter mit ihren Werten definiert, die als trigger.params auf der Server-Seite übergeben werden, beispielsweise wird der Name EAN mit dem Wert 4016779578639 zu params.EAN=4016779578639.
Das Tag <input> mit dem Attribut type="submit" erstellt eine Schaltfläche, um einen Job in der Warteschlange des Job Servers zu erzeugen. Sollte der Job-Status erfragt werden, so können auch hier wieder die üblichen Mittel eingesetzt werden (siehe install\htmlTemplates\DataPortalTemplate).
Die Tabelle für die neue Konfiguration hat das folgende Aussehen in einem Browser:
Es können auch mehrere <input>-Felder den gleichen Namen haben. In den trigger.params gibt es dann einen Schlüssel mit dem Namen und alle Werte sind dort als String mit \t getrennt.