Skip to main content
Skip table of contents

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: Execute: Anwendung/Befehl über eine Kommandozeile aufrufen

Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter.osprocess.OsProcessAdapter: Hauptklasse (Standard)

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:

  • Beliebige gültige Pfadangabe (z. B. C:\X4\temp\)

  • (leer): Kein Standard-Arbeitsverzeichnis (über Input-XML manuell setzen oder das X4 Server-Arbeitsverzeichnis wird verwendet) (Standard)

collectStdOut

Standard Output-Strom des aufgerufenen Programms erfassen

Mögliche Werte:

  • true: Standard Output-Strom des aufgerufenen Programms im Output im Element <StdOut> Base64-kodiert speichern (Standard)

  • false: Standard Output nicht berücksichtigen (Element <StdOut> im Output bleibt leer)

collectStdErr

Standard Error-Strom des aufgerufenen Programms erfassen

Mögliche Werte:

  • true: Standard Error-Strom des aufgerufenen Programms im Output im Element <StdErr> Base64-kodiert speichern (Standard)

  • false: Standard Error nicht berücksichtigen (Element <StdErr> im Output bleibt leer)

mergeStdErrIntoStdOut

Standard Error-Strom zusammen mit dem Standard Output-Strom im Element <StdOut> Base64-kodiert ausgeben

Mögliche Werte:

  • true: Standard Error und Standard Output zusammen ausgeben

  • false: Datenströme separat ausgeben (Standard)

Input

Der Adapter erwartet ein XML-Dokument, das nach folgendem Muster aufgebaut ist: 

HTML/XML
<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

<WorkingDirectory>

(optional): Arbeitsverzeichnis, in dem die aufgerufene Anwendung operiert. Diese Angabe überschreibt den Wert im Parameter workingDirectory und entspricht nicht dem Pfad der Anwendung (siehe unten)!

<Application>

Name der Kommandozeile oder Anwendungsname mit oder ohne kompletten Pfad (falls der Anwendungspfad bereits in den Umgebungsvariablen verfügbar ist)

Alternativ unter Windows cmd.exe verwenden und die Anwendung als erstes Argument angeben

Argument

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 cmd.exe als <Application> muss vor dem eigentlichen Befehl zuerst das Argument /c angegeben werden.

<Environment>

Definiert Umgebungsvariablen.

Über das Attribut clear="true" können Sie steuern, ob der Befehl nur mit den Umgebungsvariablen ausgeführt wurde, die im Element <Environment> definiert wurden.

Mit clear="false" werden die im Element <Environment> definierten Umgebungsvariablen zu den bestehenden hinzugefügt.

Entry

Name einer unter <Environment> hinterlegten Umgebungsvariablen

<Input>

(optional): Enthält Base64-kodierte Input-Daten

<Copy>

(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.

HTML/XML
<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.

HTML/XML
<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).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.