Exécution de l’exemple de flot de travaux pour le traitement de commandes récupérées de services Web REST
Ce flot de travaux utilisent les exemples d'objets et de fichiers suivants :
- Flot de travaux : RestfulWebServiceWF
-
Unité d'entrée : RestfulWebServiceSample
L'unité d'entrée émet un appel GET pour récupérer des commandes JSON à partir d'un exemple de service Web REST à l'adresse
http://localhost:15080/restapi/1.0/sample/order
-
Notification : RestfulWebServiceSampleNotify
La notification émet un appel POST vers un exemple de service Web à l'adresse
http://localhost:15080/restapi/1.0/sample/completeJobTicket
-
Commandes JSON
Une commande est récupérée toutes les 30 secondes à partir de l'exemple de service Web.
Contenu de l'exemple de commande :
{"Order": {"orderId": "ORDnuméro", "customername": "Ricoh"}}
Chaque commande contient un numéro généré de manière aléatoire, par exemple : 1238875463.
-
Fichiers d'impression :
Brochure.pdf
etCover.pdf
Ces fichiers sont téléchargés localement à partir de
http://localhost:15080/restapi/
-
Fichiers de feuille de style XSLT :
-
orderToOverrides.xslt
-
jobticketToOverrides.xslt
Les fichiers se trouvent dans le répertoire
restsample
:/aiw/aiw1/testfiles/restsample
(Linux)C:\aiw\aiw1\testfiles\restsample
(Windows)
-
-
Fichier PDF de notification
Un fichier PDF de notification est généré pour chaque commande terminée. Chaque fichier est nommé ORDER-ORDnuméro, par exemple : ORDER-ORD1238875463.
-
L'étape CallRESTService émet un appel GET pour récupérer des tickets de travail JSON à partir d'un exemple de service Web REST à l'adresse
http://localhost:15080/restapi/1.0/sample/jobTicket
- Remarque:
-
Les exemples de services Web sont disponibles localement. Ils renvoient des exemples de données en réponse à des demandes spécifiques de l'exemple d'unité d'entrée, de la notification et de l'étape CallRESTService. Les services Web ne prennent pas en charge les autres demandes.
-
Les exemples d'objets et de fichiers, y compris le flot de travaux RestfulWebServiceWF, sont installés avec la fonction Activation des services Web.
Pour exécuter le flot de travaux échantillon :
- Sélectionnez l'onglet Page principale.
- Dans le portlet Imprimantes, cliquez avec le bouton droit de la souris sur l'imprimante Exemple et sélectionnez Activer.
- Dans le portlet Unités d'entrée, cliquez avec le bouton droit de la souris sur l'unité
d'entrée de service Web REST RestfulWebServiceSample et sélectionnez Activer et connecter.
Un travail apparaît dans le tableau des travaux.
- Cliquez avec le bouton droit sur l'unité d'entrée RestfulWebServiceSample et sélectionnez Désactiver.
- Cliquez à nouveau avec le bouton droit sur l'unité d'entrée et sélectionnez Déconnecter.Remarque: L'exemple d'unité d'entrée interroge les commandes toutes les 30 secondes et récupère un travail JSON. Si vous ne désactivez ni ne déconnectez l'unité d'entrée, un nouveau travail apparaît dans le tableau Travaux toutes les 30 secondes.
Chaque fois que l'unité d'entrée RestfulWebServiceSample récupère un travail JSON :
-
Le travail est envoyé via la branche Parent du flot de travaux.
-
L'étape SetJobPropsFromTextFile définit la propriété Nom du client sur RicohSample et la propriété Perosnnalisé1 sur RicohCustom.
-
L'étape ConvertJSONToXML convertit le travail en XML.
-
L'étape ApplyXSLTransform utilise la feuille de style XSLT
orderToOverrides.xslt
pour convertir 2 éléments XML en 2 propriétés de travail RICOH ProcessDirector dans un fichier de substitution :Élément XML Propriété du travail orderId Job.Info.Attr3 customername Job.CustomerName Contenu de l'exemple de fichier de substitution :
Job.Info.Attr3=ORD1238875463 Job.CustomerName=Ricoh
L'étape place le fichier de substitutions dans le répertoire spoule du travail. RICOH ProcessDirector utilise les valeurs du fichier de substitutions pour définir les valeurs des propriétés du travail.
-
L'étape AssignJobValues définit la valeur de la propriété Nom du travail sur ORDER-${Job.Info.Attr3}, par exemple : ORDER-ORD1238875463.
-
L'étape CallRESTService émet un appel GET vers l'un des exemples de services Web qui simule le site Web de commande de livres. L'étape spécifie l'ID de commande comme valeur de la propriété Paramètres de la requête : orderId:${Job.Info.Attr3}.
Le service Web renvoie les informations sur la fiche de travail JSON pour la commande à RICOH ProcessDirector.
Contenu des informations de l'exemple de fiche de travail :
{"JobTicket": [{ "itemnumber": "1182563839", "copies":"4","media" : "Letter Plain","file" : "http://localhost:15080/restapi/Brochure.pdf","type" : "Brochure","title" : "RPDBestSeller"}, { "itemnumber": "1934194376", "copies":"4","media" : "Letter Preprinted","file" : "http://localhost:15080/restapi/Cover.pdf","type" : "Cover" ,"title" : "RPDBestSeller" }]}
-
L'étape ConvertJSONToXML convertit les informations sur la fiche de travail JSON en XML.
-
L'étape CreateJobsFromXML utilise l'expression XPath //JobTicket pour analyser les informations de la fiche de travail XML. L'étape identifie 2 fiches de travail et crée 2 travaux enfants.
Contenu des exemples de travaux enfants :
<?xml version="1.0" encoding="UTF-8"?><JobTicket><copies>4</copies><file>http://localhost:15080/restapi/Brochure.pdf</file><itemnumber>2112076335</itemnumber><media>Letter Plain</media><type>Brochure</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 Preprinted</media><type>Cover</type><title>RPDBestSeller</title></JobTicket>
Cette étape soumet les deux travaux enfant au flot de travaux RestfulWebServiceWF.
La règle appliquée au connecteur [2] Enfant détermine si les travaux sont des travaux enfants en vérifiant si le numéro du travail comporte une décimale. Le connecteur envoie les travaux enfants via la branche Enfant du flot de travaux.
Le travail JSON initial se poursuit via la branche Parent jusqu'à l'étape RunHotFolderApplication. Cette étape place le travail JSON dans un dossier prioritaire :
-
/aiw/aiw1/testfiles/restsample/sending
(Linux) -
C:\aiw\aiw1\testfiles\restsample\sending
(Windows)
L'un des exemples de services Web qui simulent le site Web de commande de livres interroge les travaux du dossier prioritaire. Le service Web traite chaque travail JSON lorsqu'il reçoit une requête provenant de la notification RestfulWebServiceSampleNotify. Pour plus d'informations, consultez l'élément relatif à l'étape RetainCompletedJobs dans la liste.
-
-
L'étape ApplyXSLTransform2 utilise la feuille de style XSLT
jobticketToOverrides.xslt
pour convertir 6 éléments XML pour chaque travail enfant en propriétés de travail RICOH ProcessDirector dans un fichier substitution :Élément XML Propriété du travail file Job.Info.Attr2 itemnumber Job.Info.Attr1 type Job.Info.Attr4 title Job.Info.Attr5 copies Job.Copies media Job.Media Contenu de l'exemple de fichier de substitution :
Job.Info.Attr2=http://localhost:15080/restapi/Brochure.pdf Job.Info.Attr1=1182563839 Job.Info.Attr4=Brochure Job.Info.Attr5=RPDBestSeller Job.Copies=4 Job.Media=Letter Preprinted
-
L'étape DownloadFile télécharge les fichiers
Cover.pdf
etBrochure.pdf
depuis l'adressehttp://localhost:15080/restapi/
en définissant la valeur de la propriété URL du fichier à télécharger sur ${Job.Info.Attr2}. -
L'étape AssignJobValues2 définit les valeurs de 3 propriétés de travail.
-
Imprimante requise : Exemple
-
Flot de données en entrée : PDF
-
Nom du travail : ${Job.Info.Attr5}-${Job.Info.Attr4}
Les noms des travaux enfants pour les fichiers
Brochure.pdf
etCover.pdf
sont maintenant RPDBestSeller-Brochure et RPDBestSeller-Cover. -
-
Les étapes OptimizePDF, CountPages, CreatePageRanges et PrintJobs traitent et impriment les travaux enfants RPDBestSeller-Brochure et RPDBestSeller-Cover sur l'imprimante Exemple.
-
Lorsque chaque travail d'impression enfant atteint l'étape RetainCompletedJobs, la notification de service Web RestfulWebServiceSampleNotify émet un appel POST vers l'un des exemples de service Web à l'adresse
http://localhost:15080/restapi/1.0/sample/completeJobTicket
. La valeur de la propriété Paramètres de la requête est :jobTicket:${Job.Info.Attr1} jobId:${Job.ID}
Le service Web attend que tous les travaux enfant du travail JSON initial soient à l'état Conservé. Il crée ensuite un fichier PDF contenant le numéro de travail et le numéro d'élément de chaque fiche de travail de la commande. Par exemple :
10000001.2 with item number 278955095 has been processed10000001.1 with item number 913895452 has been processed
Le service Web place le fichier PDF dans le dossier prioritaire de récupération pour l'étape RunHotFolderApplication :
-
/aiw/aiw1/testfiles/restsample/retrieval
(Linux) -
C:\aiw\aiw1\testfiles\restsample\retrieval
(Windows)
L'étape RunHotFolderApplication interroge le dossier prioritaire, recherche le travail PDF et fait passer le travail à l'étape suivante.
-
-
L'étape AssignJobValues définit la valeur de la propriété Flot de données en entrée sur PDF et fait passer le travail PDF à l'étape RetainCompletedJobs.
-
- Dans le tableau des travaux, cliquez avec le bouton droit de la souris sur un travail
ORDER-ORDnuméro et sélectionnez Afficher.
Le fichier PDF s'affiche dans le visualiseur. Les informations figurant dans le fichier PDF confirment que les 2 travaux enfants ont été traités.