Ausführen des Musters-Workflows für die Verarbeitung von Jobs, die von REST-Web-Services abgerufen werden
Dieser Workflow verwendet diese Musterobjekte und -dateien:
- Workflow: RestfulWebServiceWF
-
Eingabeeinheit: RestfulWebServiceSample
Die Eingabeeinheit führt einen GET-Aufruf durch, um von einem Beispiel-REST-Web-Service bei
Http://Localhost:15080/Restapi/1.0/Sample/Order
JSON-Aufträge abzurufen -
Benachrichtigung: RestfulWebServiceSampleNotify
Die Benachrichtigung macht einen POST-Aufruf bei einem Beispiel-Web-Service bei
http://localhost:15080/restapi/1.0/sample/completeJobTicket
-
JSON-Aufträge
Alle 30 Sekunden wird ein Auftrag vom Beispiel-Web-Service abgerufen.
Inhalt des Beispielauftrags:
{"Auftrag": {"orderId": "ORDnumber", "customername": "Ricoh"}}
Jeder Auftrag enthält eine zufällig erzeugte Nummer, zum Beispiel: 1238875463.
-
Drucken von Dateien:
Brochure.pdf,
undCover.pdf
Diese Dateien werden lokal heruntergeladen von
http://localhost:15080/restapi/
-
XSLT-Stylesheet-Dateien:
-
orderToOverrides.xslt
-
jobticketToOverrides.xslt
Die Dateien befinden sich im Verzeichnis
restsample
:/aiw/aiw1/testfiles/restsample
(Linux)C:\aiw\aiw1\testfiles\restsample
(Windows)
-
-
Benachrichtigungsdateien im Format PDF
Für jeden abgeschlossenen Auftrag wird eine Benachrichtigung in Form einer PDF-Datei erzeugt. Jede Datei wird in der Form ORDER-ORDNummer benannt. Beispiel: ORDER-ORD1238875463.
-
Der Schritt CallRESTService führt einen GET-Aufruf durch, um JSON-Job-Tickets von einem Beispiel-REST-Web-Service bei
http://localhost:15080/restapi/1.0/sample/jobTicket
abzurufen
- Hinweis:
-
Die Beispiel-Web-Services sind lokal verfügbar. Sie liefern Musterdaten als Reaktion auf spezifische Anforderungen von der Muster-Eingabeeinheit, Benachrichtigung und dem Schritt CallRESTService zurück. Die Web-Services unterstützen keine anderen Anforderungen.
-
Die Muster-Objekte und -Dateien, die den Workflow RestfulWebServiceWF einschließen, werden mit der Web Services Enablement-Funktion installiert.
So führen Sie den Beispiel-Workflow aus:
- Klicken Sie auf die Registerkarte Hauptseite.
- Wählen Sie im Portlet "Drucker" den Drucker Muster aus, und klicken Sie auf Aktivieren.
- Klicken Sie im Portlet "Eingabeeinheit" mit der rechten Maustaste auf die REST-Web-Service-Eingabeeinheit
RestfulWebServiceSample, und wählen Sie Aktivieren und verbinden.
Der Job wird in der Tabelle "Jobs" angezeigt.
- Klicken Sie mit der rechten Maustaste auf die Eingabeeinheit RestfulWebServiceSample, und wählen Sie Deaktivieren.
- Klicken Sie erneut mit der rechten Maustaste auf die Eingabeeinheit, und wählen Sie
Trennen aus.Hinweis: Die Muster-Eingabeeinheit fragt alle 30 Sekunden Aufträge ab und ruft einen JSON-Job ab. Wenn Sie die Eingabeeinheit nicht deaktivieren und trennen, wird alle 30 Sekunden ein neuer Job in der Jobtabelle angezeigt.
Folgendes geschieht jedes Mal, wenn die Eingabeeinheit RestfulWebServiceSample einen JSON-Job abruft:
-
Der Auftrag wird durch die Übergeordnete Workflow-Verzweigung gesendet.
-
Der Schritt SetJobPropsFromTextFile setzt das Merkmal Customer name auf RicohSample und das Merkmal Custom 1 auf RicohCustom.
-
Der Schritt ConvertJSONToXML konvertiert den Job in XML.
-
Der Schritt ApplyXSLTransform verwendet das XSLT-Stylesheet
orderToOverrides.xslt
, um 2 XML-Elemente in 2 RICOH ProcessDirector-Jobmerkmale in einer Overrides-Datei zu überschreiben:XML-Element Jobmerkmal orderId Job.Info.Attr3 customername Job.CustomerName Inhalt der Muster-Overrides-Datei:
Job.Info.attr3=ORD1238875463 Job.CustomerName=Ricoh
Der Schritt legt die Überschreibungsdatei im Spoolverzeichnis für den Job ab. Mit den Werten in der Überschreibungsdatei legt RICOH ProcessDirector die Werte der Merkmale für den Job fest.
-
Der Schritt AssignJobValues setzt den Wert des Merkmals Jobname auf ORDER-${Job.Info.Attr3}. Beispiel: ORDER-ORD1238875463.
-
Der Schritt CallRESTService macht einen GET-Aufruf zu einem der Web-Services, welche die Website zur Bestellung von Büchern simulieren. Der Schritt definiert die Auftrags-ID als Wert des Merkmals Anforderungsparameter: orderID:${Job.Info.Attr3}.
Der Web-Service gibt JSON-Informationen im Job Ticket für den Auftrag an RICOH ProcessDirector zurück.
Inhalt der Musterinformationen im Job Ticket:
{"JobTicket": [{ "Artikelnummer": "1182563839", "Kopien":"4","Medium" : "Brief Text","Datei" : "http://localhost:15080/restapi/Brochure.pdf","type" : "Broschüre","Titel" : "RPDBestSeller"}, { "Artikelnummer": "1934194376", "Kopien":"4","Medium" : "Brief Vorgedruckt","Datei" : "http://localhost:15080/restapi/Cover.pdf","type" : "Einband" ,"Titel" : "RPDBestSeller" }]}
-
Der Schritt ConvertJSONToXML konvertiert die JSON-Informationen im Job Ticket in XML.
-
Mit dem XPath-Ausdruck //JobTicket analysiert der Schritt CreateJobsFromXML die Daten des XML-Job-Tickets. Der Schritt findet 2 Job-Tickets und erstellt 2 untergeordnete Jobs.
Inhalt von untergeordneten Muster-Jobs:
<?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Brochure.pdf</file><itemnumber>2112076335</itemnumber><media>Letter, einfach</media><type>Broschüre</type><title>RPDBestSeller</title></JobTicket><?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Cover.pdf</file><itemnumber>1418780325</itemnumber><media>Letter, vorgedruckt</media><type>Deckblatt</type><title>RPDBestSeller</title></JobTicket>
Der Schritt übermittelt die 2 untergeordneten Jobs an den Workflow RestfulWebServiceWF.
Die Regel am Anschluss [2] Untergeordnet bestimmt, ob die Jobs untergeordnete Jobs sind, indem sie auf ein Dezimalkomma in der Jobnummer geprüft werden. Der Anschluss sendet untergeordnete Jobs über die Verzweigung Untergeordnet des Workflows.
Der ursprüngliche JSON-Job läuft weiter durch die Verzweigung Übergeordnet zum Schritt RunHotFolderApplication. Dieser Schritt legt den JSON-Job in einem Hot Folder ab:
-
/aiw/aiw1/testfiles/restsample/sending
(Linux) -
C:\aiw\aiw1\testfiles\restsample\sending
(Windows)
Einer der Muster-Web-Services, der die Website zur Bestellung von Büchern simuliert, fragt den Hot Folder für Jobs ab. Der Web-Service verarbeitet jeden JSON-Job, wenn es eine Anforderung von den Benachrichtigung RestfulWebServiceSampleNotify erhält. Weitere Informationen finden Sie in der Liste Artikel für den Schritt RetainCompletedJobs.
-
-
Der Schritt ApplyXSLTransform2 verwendet das XSLT-Stylesheet
jobticketToOverrides.xslt
zum Konvertieren von 6 XML-Elementen für jeden untergeordneten Job in RICOH ProcessDirector-Jobmerkmale in einer Überschreibungsdatei:XML-Element Jobmerkmal file Job.Info.Attr2 itemnumber Job.Info.Attr1 type Job.Info.Attr4 title Job.Info.Attr5 copies Job.Copies media Job.Media Inhalt der Muster-Overrides-Datei:
Job.Info.Attr2=http://localhost:15080/restapi/Brochure.pdf Job.Info.Attr1=1182563839 Job.Info.Attr4=Broschüre Job.Info.Attr5=RPDBestSeller Job.Kopien=4 Job.Media=Brief vorgedruckt
-
Der Schritt DownloadFile lädt die Dateien
Cover.pdf
undBrochure.pdf
vonHttp://localhost:15080/restapi/
herunter, indem der Wert des Merkmals URL zum Herunterladen der Datei auf ${Job.Info.Attr2} gesetzt wird. -
Der Schritt AssignJobValues2 legt die Werte von 3 Jobmerkmalen fest:
-
Angeforderter Drucker: Beispiel
-
Eingabedatenstrom: PDF
-
Jobname: ${Job.Info.Attr5}-${Job.Info.Attr4}
Die Namen der untergeordneten Jobs für die Dateien
Brochure.pdf
undCover.pdf
lauten jetzt RPDBestSeller-Brochure und RPDBestSeller-Cover. -
-
Die Schritte OptimizePDF, CountPages, CreatePageRanges und PrintJobs verarbeiten und drucken die untergeordneten Jobs RPDBestSeller-Brochure und RPDBestSeller-Cover auf dem Drucker Muster.
-
Wenn jeder untergeordnete Druckauftrag bei Schritt RetainCompletedJobs eintrifft, führt die Web-Service-Benachrichtigung RestfulWebServiceSampleNotify einen POST-Aufruf zu einem der Muster-Web-Services unter
http://localhost:15080/restapi/1.0/sample/completeJobTicket
durch. Der Wert des Merkmals Anforderungsparameter lautet:JobTicket:${Job.Info.Attr1} jobId:${Job.ID}
Der Web-Service wartet, bis alle untergeordneten Jobs für den ursprünglichen JSON-Job im Jobstatus Aufbewahrt sind. Die Web Service erstellt dann eine PDF-Datei mit der Jobnummer und Artikelnummer jedes Job Tickets in dem Auftrag. Beispiel:
10000001.2 with item number 278955095 has been processed10000001.1 with item number 913895452 has been processed
Der Web-Service legt die PDF-Datei in den Abruf-Hot Folder für den Schritt RunHotFolderApplication:
-
/aiw/aiw1/testfiles/restsample/retrieval
(Linux) -
C:\aiw\aiw1\testfiles\restsample\retrieval
(Windows)
Der Schritt RunHotFolderApplication ruft den Hot Folder ab, findet den PDF-Job und sendet den Job zum nächsten Schritt.
-
-
Der Schritt AssignJobValues setzt den Wert des Merkmals Eingabedatenstrom auf PDF und sendet die PDF-Job an den Schritt RetainCompletedJobs.
-
- Klicken Sie in der Tabelle Jobs mit der rechten Maustaste auf einen Job ORDER-ORDNummer und wählen Sie Anzeigen.
Der Viewer zeigt die PDF-Datei. Die Informationen in der PDF-Datei bestätigen, dass die 2 untergeordneten Jobs verarbeitet wurden.