Altova FlowForce Server 2024 Advanced Edition

Gibt das Ergebnis eines fehlgeschlagenen Ausführungsschritts zurück. Diese Funktion ist nützlich, wenn Sie Fehler bei geschützten Blöcken behandeln, wie unter Behandlung von Fehlern in Schritten beschrieben. Die Funktion failed-step muss Teil des "Bei Fehler"-Handlers sein, da andernfalls der Schritt, in dem Sie den Handler verwenden, aufgrund eines fehlenden Fehlerschritts fehlschlägt.

 

Diese Funktion gibt einen Wert vom Typ result zurück, der das Ergebnis des fehlerhaften Schritts darstellt. Um die Attribute des Ergebnisses zu finden, übergeben Sie diese Funktion als Argument an Funktionen wie z.B. stdout oder stderr:

 

stderr(failed-step())

stdout(failed-step())

 

Ob Sie stderr oder stdout verwenden sollen, hängt davon ab, ob der fehlerhafte Schritt die Fehlerinformationen im Standard-Fehler- oder im Standard-Output-Stream zurückgibt.

 

Signatur

failed-step() -> result

 

Beispiele

Im Auftrag unten wird eine Fehlerbehandlung verwendet, daher eignet er sich für den Aufruf der failed-step-Funktion. Im ersten Ausführungsschritt wird versucht, einen als Auftrags-Input-Parameter bereitgestellten Shell-Befehl auszuführen. Wenn der Befehl mit einem Fehler fehlschlägt, wird der "Bei Fehler"-Handler ausgeführt. Der erste und einzige Schritt des "Bei Fehler"-Handlers ruft für die Fehlerbehandlung einen separat erstellten Unterauftrag auf. Dieser wird unten beschrieben.

fs-failed-step-example-01

Sie können Ihre Fehlerbehandlung zwar anders konfigurieren, doch erhält der Fehlerbehandlungsunterauftrag in diesem Beispiel zwei Input-Parameter:

 

1.inputResult - den Output der failed-step-Funktion vom Typ result.

2.workingDirectory - das Verzeichnis, in das die Log-Datei mit den Fehlerinformationen geschrieben wird.

 

Der Fehlerbehandlungsunterauftrag sieht folgendermaßen aus:

fs-failed-step-example-02

Der obige Ausführungsschritt ruft die copy-Funktion auf, um im Arbeitsverzeichnis des Auftrags eine Datei namens error.log zu erstellen. Der Ausdruck aus dem Textfeld Quelle tut Folgendes:

 

1.Die stderr-Ausdrucksfunktion konvertiert den von inputResult bereitgestellten Standardfehler in einen Stream. Wie oben bereits erwähnt, müssen Sie in einigen Fällen eventuell stdout anstelle von stderr verwenden. Sowohl stdout als auch stderr erhält als Argument einen Wert vom Typ result. Dies ist genau der Rückgabetyp, der von der failed-step-Funktion (welche in diesem Beispiel im Hauptauftrag aufgerufen wurde) erzeugt wird.

2.Die as-file-Funktion konvertiert den Stream in eine Datei und schreibt sie auf die Festplatte. Der Pfad der Datei ist relativ zur Arbeitsverzeichnis.

 

Weitere Beispiele finden Sie unter:

 

Hinzufügen von Error Handlern zu einem Auftrag

Validieren eines XML-Dokuments mit Fehlerprotokollierung

© 2017-2023 Altova GmbH