Commandline
Dieser Adapter ruft eine externe Anwendung oder einen externen Befehl über eine Kommandozeile des Betriebssystems mit beliebig vielen Argumenten auf. Der Adapter erwartet eine adapterspezifische Input-XML-Struktur, die Base64-kodierte Nutzdaten enthalten kann und gibt ein XML-Dokument mit den Base64-kodierten Ergebnissen des Aufrufs von StdOut und/oder StdErr sowie dem zurückgegebenen Exit Code zurück.
Eigenschaften (Properties)
Operation | Bestimmt, welche Operation der Adapter durchführt. Mögliche Werte: |
Parameter
Adapter | Hauptklasse des Adapters (nicht verändern!) Mögliche Werte: |
workingDirectory | Arbeitsverzeichnis für den ausgeführten Anwendungsaufruf. Das hier gesetzte Arbeitsverzeichnis wird ggf. durch das im Input-XML gesetzte Arbeitsverzeichnis überschrieben. Falls beides leer ist, wird das X4 Server-Arbeitsverzeichnis verwendet. Mögliche Werte:
|
collectStdOut | Standard Output-Strom des aufgerufenen Programms erfassen Mögliche Werte:
|
collectStdErr | Standard Error-Strom des aufgerufenen Programms erfassen Mögliche Werte:
|
mergeStdErrIntoStdOut | Standard Error-Strom zusammen mit dem Standard Output-Strom im Element Mögliche Werte:
|
Input
Der Adapter erwartet ein XML-Dokument, das nach folgendem Muster aufgebaut ist:
<Command>
<WorkingDirectory><!--Arbeitsverzeichnis (optional)--></WorkingDirectory>
<Application><!--Name der Kommandozeile oder kompletter Pfad der Anwendung--></Application>
<!-- Beliebig viele Argumente (Reihenfolge beachten!) -->
<Argument><!--Argument/Parameter--></Argument>
<Environment clear="nur mit folgenden Umgebungsvariablen arbeiten (true/false)">
<!-- beliebig viele Umgebungsvariablen -->
<Entry name="Umgebungsvariablenname"><!--Wert--></Entry>
</Environment>
<Input><!--Base64-kodierte Daten zur Verarbeitung durch die externe Anwendung--></Input>
<Copy><!--Beliebige Zeichenkette/XML-Struktur zum unveränderten Durchschleifen--></Copy>
</Command>
Folgende Elemente können im Input enthalten sein:
Element | Beschreibung |
---|---|
| (optional): Arbeitsverzeichnis, in dem die aufgerufene Anwendung operiert. Diese Angabe überschreibt den Wert im Parameter |
| Name der Kommandozeile oder Anwendungsname mit oder ohne kompletten Pfad (falls der Anwendungspfad bereits in den Umgebungsvariablen verfügbar ist) Alternativ unter Windows |
| Argument, das bei der Ausführung des Programms übergeben wird Hinweis: Sie können beliebig viele Argumente angeben, müssen aber die Reihenfolge beachten. Nach |
| Definiert Umgebungsvariablen. Über das Attribut Mit |
| Name einer unter |
| (optional): Enthält Base64-kodierte Input-Daten |
| (optional): Enthält eine XML-Struktur/beliebige Zeichenkette zum unveränderten Durchschleifen |
Hinweis:
Im Gegensatz zu den Adapter-Parametern können Sie im Input-XML keine Platzhalter wie z. B. %USER_COLLECTION%
verwenden!
Beispiel
In der folgenden Input-XML-Struktur wird die Standardkommandozeile von Windows, cmd.exe
, im Arbeitsverzeichnis C:\
aufgerufen und es werden mit dem Befehlsargument set
die Umgebungsvariablen name
und age
gesetzt. Über das Argument /c
wird dabei der Befehl in der Zeichenfolge ausgeführt und dann beendet. Über clear="true"
wird der Befehl nur mit den hier definierten Umgebungsvariablen ausgeführt.
<Command>
<WorkingDirectory>C:\</WorkingDirectory>
<Application>cmd.exe</Application>
<Argument>/c</Argument>
<Argument>set</Argument>
<Environment clear="true">
<Entry name="name">Theo Tester</Entry>
<Entry name="age">35</Entry>
</Environment>
<Input></Input>
<Copy></Copy>
</Command>
Output
Der Funktions-Adapter gibt ein XML-Dokument aus, das nach folgendem Muster aufgebaut ist.
<CommandResult>
<ExitCode>ExitCode der Anwendung</ExitCode>
<StdOut>Base64-kodierte Ausgabedaten der Anwendung</StdOut>
<StdErr>Base64-kodierte Fehlerausgabe der Anwendung</StdErr>
<Copy>Unverändert durchgeschleifte Zeichenkette/XML-Struktur</Copy>
</CommandResult>
Statuswerte
1 | Der Aufruf wurde ausgeführt. Der Statuswert 1 ist unabhängig vom Exit-Code des aufgerufenen Programms. |
-1 | Der Aufruf konnte nicht ausgeführt werden (z. B. weil Programm nicht gefunden wurde). |