FillInstanceDataViaXMLManager

Beschreibung

Der Timer FillInstanceDataViaXMLManager überprüft, ob eine XML-Datei in einem bestimmten Verzeichnis des Dateisystems vorhanden ist. Sobald der Timer eine XML-Datei gefunden hat, wird anhand der Vorgangs-ID geprüft, ob ein Vorgang mit dieser ID existiert. Sobald dieser Vorgang, die angegebene Aktivität/Waitstate erreicht, werden die Daten aus der XML-Datei extrahiert und als Prozessvariablen zu diesem Vorgang abgespeichert.

Das Verzeichnis und die XML-Datei müssen auf dem Dateisystem des Servers vorhanden sein.


Webservice-Name

FillInstanceDataViaXMLManager

Webservice-Methode

fillInstanceDataViaXML

 

Parameter

Parameter

Beschreibung

Gültige Beispiele

Parameter

Beschreibung

Gültige Beispiele

Definitionsname

Ein Name der Prozessdefinition.

  • MyProcessName

  • 8D Problemlösung

Name der Aktivität/Waitstate

Name der Aktivität bzw. des Waitstates bei dem der Timer ausgeführt werden soll.

  • myActivityName

  • myWaitStateName

Pfad

Pfad zum Verzeichnis auf dem Server, indem sich die XML Datei gesucht werden soll.

  • C:/usr/local/tim/XMLFiles

XML Xpath

Angabe des XPath Ausdrucks, der festlegt welches Element aus der XML-Datei in eine Variable umgewandelt werden soll.

  • //variable

Alle Parameter werden durch Kommata separiert:
NameProzessdefinition,NameWaitstate,usr/local/tim/XMLFiles,//variable

XML-Datei

Um einen eindeutigen Bezug zwischen der XML-Datei und einem Vorgang herzustellen, sind 2 Varianten möglich:

Variante 1 - Dateiname enthält ID des Vorgangs

Name XML-Datei: filename_ID.xml

<?xml version="1.0" encoding="UTF-8"?> <processInstance> <variable><key>NameProzessvariable1</key><value><![CDATA[WertProzessvariable1]]></value></variable> <variable><key>NameProzessvariable1</key><value><![CDATA[WertProzessvariable1]]></value></variable> </processInstance>

Variante 2 - XML-Datei enthält ID des Vorgangs

Name XML-Datei: filename.xml

 

Konnte vom Timer keine XML-Datei zum Vorgang bzw. der Waitstate oder die Aktivität im Vorgang nicht gefunden werden, werde alle Mitglieder der Gruppe “Prozesseigentümer” automatisch per E-Mail informiert.

 

Beispiel

Nachfolgend wird anhand eines einfachen Beispielprozesses erläutert, wie eine XML-Datei zu einem bestimmten Zeitpunkt in einem Vorgang extrahiert wird und Prozessvariablen generiert werden.

Sobald der WaitState “ImportXML” erreicht ist, prüft der Timer, ob zu dieser Vorgangs-ID eine XML-Datei in dem angegebenen Verzeichnis auf dem Server existiert. Wurde eine Datei gefunden, wird die Datei extrahiert und die darin enthaltenen Prozessvariablen inklusive deren Werte zum Vorgang gespeichert. Der WaitState wird bei erfolgreichem Import abgeschlossen und in der nächsten Aufgabe “Task2” sind die Prozessvariablen und die dazugehörigen Werte verfügbar.

Beispielprozess

Nach dem Deployment wird im Workflow Designer eine Smartform mit zwei Eingabefeldern angelegt. In dem hier vorliegen Beispiel sollen der Name (Variable: name) und die Straße (Variable: strasse) einer Person mit Hilfe einer XML-Datei im Smartform nach dem WaitState “importXML” mit Werten befüllt sein.

Smartform:

 

Timer:

Für dieses Beispiel wurde folgender Timer eingerichtet.

 

Beispiele

 

Beispiele

Timername

  • testXML

Webservicename

  • FillInstanceDataViaXMLManager

Webservice-Name

  • fillInstanceDataViaXML

Parameter

  • XML Timer,importXML,usr\local\tim\wf_29_rc,//variable

Startzeitpunkt

  • 1s

max. Durchläufe

  • 1

XML-Datei

Weiterhin ist eine XML-Datei mit folgendem Beispiel Inhalt erforderlich.

Die Beispieldatei erhält folgenden Beispielnamen testfile_36165685.xml und bspw. im Verzeichnis /usr/local/tim/xmlTestFiles/ auf dem Server hochgeladen.

 

Ergebnis:

Anschließend kann die Aufgabe “Task1” abgeschlossen werden. Sobald der Timer FillInstanceDataViaXMLManager ausgeführt wird, werden die Daten aus der XML-Datei in den Vorgang importiert, der WaitState abgeschlossen und in der Aufgabe “Task2” im Smartform, die entsprechenden Werte zu den Prozessvariablen im Smartform angezeigt.