Exécution de l’exemple de flot de travaux pour le traitement de commandes récupérées de services Web REST

Le flot de travaux RestfulWebServiceWF illustre le traitement de commandes récupérées à partir de services Web REST simulant un site Web de commande de livres. Une unité d'entrée de service Web REST, une étape CallRESTService et une notification de service Web REST échangent des données à l'aide des services Web. Le flot de travaux donne également des exemples des étapes suivantes : ConvertJSONToXML, ApplyXSLTransform, CreateJobsFromXML et DownloadFile.

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 et Cover.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 et AIX)
    • 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 :

  1. Sélectionnez l'onglet Page principale.
  2. Dans le portlet Imprimantes, cliquez avec le bouton droit de la souris sur l'imprimante Exemple et sélectionnez Activer.
  3. 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.

  4. Cliquez avec le bouton droit sur l'unité d'entrée RestfulWebServiceSample et sélectionnez Désactiver.
  5. 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>Lettre préimprimée</media><type>Couverture</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 et AIX)

      • 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 et Brochure.pdf depuis l'adresse http://localhost:15080/restapi/ en définissant la valeur de la propriété URL du fichier à télécharger sur ${Job.Info.Attr2}.

    • L'étape AssignJobValues 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 et Cover.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 et AIX)

      • 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.

  6. 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.