SystemCallResponse
Gruppe |
|
Funktion |
Die Klasse führt einen Betriebssystem-Aufruf (System Call) durch. |
Konfigurationsdatei |
sample_system_call_response.properties |
Beschreibung
Die Klasse SystemCallResponse führt einen Betriebssystem-Aufruf durch und startet ein Programm mit optionalen Parametern. Die Konfiguration erfolgt über eine Properties-Datei (Angabe des Pfads im Feld Zusätzlicher Parameter).
Wenn der Integration Server als Windows-Dienst läuft, existieren keine Umgebungsparameter und kein Kommando-Prozessor. Man kann daher nur Maschinenprogramme (.exe) als Kommando mit absolutem Pfad angeben. Der Pfadtrenner \ muss in einer Properties-Datei doppelt geschrieben werden.
Hinweis: Sollte ein Programmaufruf nicht funktionieren, kann man kann die Parameter exklusive Windows-Service testen, indem man den Integration Server als Service stoppt und als Konsolenapplikation mit ./bin/hub.bat startet. Wenn dann der Aufruf des Programms funktioniert, sind die übrigen Parameter korrekt gesetzt. Nun kann es nur noch an der Berechtigung des Dienstes oder an fehlenden Umgebungsparametern eines Dienstes liegen. Die gesetzten Umgebungsparamter eines Benutzers können aufgelistet werden, indem man SET ohne Parameter aufruft. Man erhält eine Auflistung der Parameter und deren Werte. Je nach Programm müssen dann 0 bis n Parameter zusätzlich zum Programmaufruf mitgegeben werden.
Hinweis: Der Returncode 0 wird als Erfolg gewertet, alles andere als Fehler.
Parameterbeschreibung
Parametername |
Beschreibung |
command |
Der absolute Dateiname der ausführbaren Programmdatei. |
param<x> |
Aufrufparameter, Index startet bei 1. |
waitForEnd |
(true oder false) Gibt an, ob gewartet werden soll, bis das aufgerufene Programm endet. Default: true. |
waitForEndMaxTime |
(optional) Zeit in Sekunden bis zum Abbruch des Wartens. Default: 60 Sekunden. |
debugonly |
(true oder false) Mit true wird der Aufruf nur simuliert. |
Beispiel
command=C:\\WINDOWS\\system32\\cmd.exe
param1=/C
param2=C:\\test\\testbatch.cmd
param3=@VAR_ARG@
#waitForEnd=
#waitForEndMaxTime=
#debugonly=
Als command wird der Pfadname des Kommandoprozessors cmd.exe gesetzt. Der erste Parameter /C bewirkt, dass der Kommandoprozessor nach Abarbeitung des Scripts beendet wird. param2 ist der Pfad zur Script-Datei und param3 ist das erste Aufrufargument für das Script, das innerhalb als \%1 zur Verfügung steht. Die Variable VAR_ARG muss im Mapping definiert sein und einen Wert zugewiesen haben. Der Text in der Variablen muss der Darstellung der Properties in einer Datei entsprechen, z. B. Backslash doppelt, usw.