Erstellen eines Auftrags zur Verzeichnisabfrage
In diesem Beispiel wird erklärt, wie ein Verzeichnis mit Hilfe eines in FlowForce Server erstellten Dateisystem-Triggers (siehe auch Dateisystem-Trigger) auf neue XML-Dateien überprüft wird. Immer, wenn eine neue XML-Datei zum Verzeichnis hinzugefügt wird, führt FlowForce Server einen Mapping-Auftrag mit der XML-Datei als Input-Parameter aus. Die Ausgabedatei des Mapping-Auftrags wird anschließend in ein Archivverzeichnis verschoben.
Voraussetzungen
•Benötigte Lizenzen: MapForce Enterprise oder Professional Edition, MapForce Server oder MapForce Server Advanced Edition und FlowForce Server
•Der FlowForce Web Server- und der FlowForce Server-Dienst werden an der konfigurierten Netzwerkadresse und am konfigurierten Port ausgeführt und sind dort empfangsbereit.
•Sie haben ein FlowForce Server-Benutzerkonto mit Berechtigungen für einen der Container (standardmäßig hat jeder authentifizierte Benutzer Zugriff auf den in diesem Beispiel verwendeten Container /public).
•Mit dem in diesem Beispiel erstellten Auftrag werden Dateien von einem Verzeichnis in ein anderes kopiert. Stellen sie daher sicher, dass beide Verzeichnisse auf dem Betriebssystem, in dem FlowForce Server ausgeführt wird, vorhanden sind und dass Sie Schreibrechte für beide Verzeichnisse haben. In diesem Beispiel werden die Verzeichnisse C:\FlowForceExamples\DirPolling und C:\FlowForceExamples\Archive verwendet.
Verwendete Demo-Dateien
•ShortApplicationInfo.mfd - das MapForce Mapping, von dem aus der FlowForce Server-Auftrag erstellt wird
•ApplicationsPage.xml - die XML-Instanzdatei, die als Input für das Mapping bereitgestellt wird
Beide Dateien stehen unter dem folgenden Pfad auf dem Rechner, auf dem MapForce installiert ist, zur Verfügung: <Dokumente>\Altova\MapForce2025\MapForceExamples\.
Funktionsweise des Mappings
In der Abbildung unten sehen Sie das in diesem Beispiel verwendete Mapping (ShortApplicationInfo.mfd). Für FlowForce Server ist dabei wichtig, dass eine XML-Datei als Input für das Mapping verwendet wird und eine weitere XML-Datei als Output erzeugt wird.
Im Prinzip wird in diesem Mapping eine XML-Datei (ApplicationsPage.xml) in ein anderes Schema konvertiert und als ShortInfo.xml gespeichert. Das Mapping ist relativ einfach zu verstehen, wenn Sie sich die oberste Verbindung ansehen: für jedes Item-Datenelement in der Quellkomponente wird ein Info-Datenelement in der Zielkomponente erstellt. Die anderen Verbindungen dienen dazu, um Werte aus den jeweiligen Child-Datenelementen zu kopieren. Beachten Sie dabei die gepunktete Verbindung; diese Verbindung wird in Mapforce als "Quellorientierte (Mixed Content) Verbindung" bezeichnet. Sie wird verwendet, da SubSection gemischten Inhalt enthält.
ShortApplicationInfo.mfd
Die Name des XML-Quell- und Zielschemas lauten SectionedPage bzw. ShortInfo. Wie Sie weiter unten sehen, erhält der FlowForce-Auftrag nach Bereitstellung des Mappings auf FlowForce Server einen Input- und Output-Parameter mit demselben Namen.
Bereitstellen des Mappings auf FlowForce Server
Das Mapping ShortApplicationInfo.mfd muss vor der Bereitstellung auf FlowForce Server nicht weiter bearbeitet werden. Da es sich sowohl bei der Quell- als auch bei der Zielkomponente um XML-Dateien handelt, werden diese automatisch in das auf FlowForce Server bereitgestellte Paket inkludiert.
Um das Mapping auf FlowForce bereitzustellen, öffnen Sie es in MapForce und wählen Sie den Menübefehl Datei | Auf FlowForce Server bereitstellen.
Wenn FlowForce Server auf einem anderen Host und Port ausgeführt wird, ändern Sie die Verbindungsinformationen entsprechend, siehe Definieren der Netzwerkeinstellungen. Beachten Sie außerdem, dass der Pfad des Mappings einheitlich wie in vorhergehenden Beispielen /public/Examples/ShortApplicationInfo.mapping lautet.
Erstellen des Auftrags zur Verzeichnisabfrage
Nachdem Sie das Mapping auf FlowForce Server bereitgestellt haben, wird der Browser geöffnet und die Auftragserstellungsseite wird angezeigt. Wie unten gezeigt, wird der erste Ausführungsschritt automatisch erstellt. Damit wird die zuvor bereitgestellte Mapping-Funktion aufgerufen. Beachten Sie, dass der Input-Parameter denselben Namen wie die MapForce-Quellkomponente (SectionedPage) hat, während der Output-Parameter denselben Namen wie die Zielkomponente (ShortInfo) hat.
Konfigurieren Sie den Auftrag folgendermaßen:
1.Geben Sie in das Feld Working-directory den Pfad zum Arbeitsverzeichnis ein. In diesem Beispiel wird als Arbeitsverzeichnis C:\FlowForceExamples\DirPolling verwendet.
Ein Arbeitsverzeichnis (oder Working-directory) ist ein Parameter, der von Ausführungsschritten benötigt wird, wenn für den Auftrag ein Ordner benötigt wird, in dem Input-Dateien entpackt oder Output-Dateien gespeichert werden. Anhand des Arbeitsverzeichnisses werden in FlowForce Server auch alle relativen Pfade, die während der Ausführung von Schritten vorkommen, aufgelöst. Wenn Sie nach einem Arbeitsverzeichnis gefragt werden, sollten Sie einen gültigen Pfad auf dem Betriebssystem, auf dem FlowForce ausgeführt wird, angeben. Falls bei Erstellung des Schritts kein Arbeitsverzeichnis angegeben wird, verwendet FlowForce Server ein temporäres Verzeichnis.
2.Klicken Sie unter "Trigger" auf die Schaltfläche neuer Dateisystem-Trigger. Beachten Sie, dass FlowForce Server automatisch unter Input-Parameter einen neuen Parameter triggerfile hinzufügt. Sie müssen diese Parameter später referenzieren.
3.Definieren Sie die folgenden Trigger-Werte:
•Überprüfe: Änderungsdatum
•Datei oder Verzeichnis: C:\FlowForceExamples\DirPolling\*.xml
•Abrufintervall: 60 Sekunden
4.Übergeben Sie den Parameter triggerfile unter "Ausführungsschritte" als Input-Wert an den Parameter SectionedPage. Klicken Sie dazu auf die Schaltfläche neben dem Parameter "SectionedPage" und wählen Sie dann triggerfile aus. Dadurch ändert sich der Wert des Parameters SectionedPage in {triggerfile}. Mit der geschweiften Klammer wird ein FlowForce-Ausdruck gekennzeichnet. Sie sollte nicht entfernt werden.
Mit dieser Konfiguration wird der Trigger jedes Mal, wenn ApplicationsPage.xml in das Arbeitsverzeichnis kopiert wird, ausgelöst. Da im Trigger auch ein Platzhalter (*.xml) verwendet wird, würde der Trigger auch ausgelöst, wenn eine beliebige andere XML-Datei, auch die Mapping-Ausgabe selbst (ShortInfo.xml), in das Verzeichnis kopiert wird. Da dies nicht erwünscht ist, fügen wir einen zweiten Schritt hinzu, in dem die generierte Ausgabedatei in ein neues Verzeichnis kopiert wird. Alternativ dazu könnten Sie den Trigger auch in C:\FlowForceExamples\DirPolling\ApplicationsPage.xml umbenennen (In diesem Fall ist kein zweiter Schritt erforderlich).
So fügen Sie den Schritt hinzu, in dem die Ausgabe in ein neues Verzeichnis verschoben wird:
1.Fügen Sie unmittelbar hinter dem vorherigen Ausführungsschritt einen neuen Ausführungsschritt hinzu.
2.Konfigurieren Sie den Schritt folgendermaßen (beachten Sie dass die Groß- und Kleinschreibung in den Feldern "Quelle" und "Ziel" beachtet werden muss):
Funktion ausführen | Navigieren Sie zur Funktion /system/filesystem/move. |
Quelle | ShortInfo.xml
Wir haben einen relativen Pfad verwendet, da der Parameter Arbeitsverzeichnis definiert wurde, siehe unten. |
Ziel | Es muss sich hierbei um eine vorhandene Datei oder ein vorhandenes Verzeichnis in dem Betriebssystem, in dem FlowForce Server ausgeführt wird, handeln. Setzen Sie es auf:
C:\FlowForceExamples\Archive |
Ziel überschreiben | Aktivieren Sie dieses Kontrollkästchen. Dadurch überschreibt FlowForce Server Dateien mit demselben Namen im Zielordner. |
Bei Fehler abbrechen | Lassen Sie diesen Parameter unverändert.
Dieser Boolesche Parameter legt fest, was der Rückgabewert der Funktion sein soll, wenn der Auftrag fehlschlägt. Wenn Bei Fehler abbrechen FALSE ist, gibt die Funktion den Booleschen Wert FALSE zurück. Wenn Bei Fehler abbrechen TRUE ist, wird die Ausführung des Auftrags abgebrochen. Der Standardwert ist TRUE. |
Arbeitsverzeichnis | FlowForce sucht alle relativen Pfade in diesem Verzeichnis. Setzen Sie es auf:
C:\FlowForceExamples\DirPolling |
Fügen Sie schlussendlich die Anmeldeinformationen, mit denen der Auftrag ausgeführt werden soll, für Ihr Betriebssystem hinzu:
1.Wählen Sie unter "Anmeldeinformationen" einen vorhandenen Eintrag aus oder definieren Sie lokale Anmeldeinformationen. Nähere Informationen dazu finden Sie unter Anmeldeinformationen.
2.Klicken Sie auf Speichern.
Ausführung des Auftrags
Sie können den Auftrag nun testen, indem Sie die Datei ApplicationsPage.xml in das Arbeitsverzeichnis kopieren. FlowForce Server führt daraufhin den Mapping-Auftrag aus und kopiert die erzeugte Ausgabedatei in das Archivverzeichnis.
Im Auftrags-Log können Sie kontrollieren, ob der Auftrag erfolgreich ausgeführt wurde.