MarcomProcessOrders

Ce flot de travaux et le flot MarcomProcessJobTicket montrent comment échanger des données avec le site Web MarcomCentral à l'aide des services Web SOAP. La démonstration inclut une unité d'entrée et une notification du service Web SOAP.

L'unité d'entrée du service Web SOAP MarcomReceiveOrders simule un appel à un service Web MarcomCentral. Cette unité extrait une commande XML du magasin proposé en exemple sur le site Web MarcomCentral et envoie le travail XML au flot de travaux MarcomProcessOrders.

L'étape SetJobPropsFromTextFile définit la propriété Nom de travail sur Marcom Sample Order.

L'étape DetectInputDataStream définit le flot de données sur XML.

L'étape ApplyXSLTransform utilise la feuille de style XSLT orderToOverrides.xslt pour convertir 8 éléments XML en 5 propriétés de travail RICOH ProcessDirector dans un fichier de substitutions.

Le tableau répertorie les propriétés de travail dans l'ordre dans lequel elles apparaissent dans la feuille de style XSLT et dans le fichier de substitutions.

Élément XML Nom de base de données de la propriété de travail Nom d'interface utilisateur de la propriété de travail
OrderNumber Job.Marcom.OrderNumber Numéro de commande MarcomCentral
ID Job.Marcom.OrderId ID de commande MarcomCentral
ShippingAddress/Address1 ShippingAddress/City ShippingAddress/State ShippingAddress/Zip Job.Info.Attr1 Personnalisé1
User/Email Job.CustomerName Nom du client
count(OrderDetails/OrderDetail) Job.Info.Attr2 Personnalisé2

L'étape CallSOAPService simule un appel à un service Web MarcomCentral et extrait 2 fiches de travail pour la commande XML. La valeur du champ de mot de passe indique à RICOH ProcessDirector de lancer la simulation au lieu d'appeler le service Web.

L'étape ApplyXSLTransform2 utilise la feuille de styles XSLT jobTicketsReceived.xslt pour calculer la valeur de la propriété Personnalisé3 en comptant les fiches de travail extraites. L'étape place la valeur dans un fichier de substitutions et remplace le fichier de substitutions du répertoire spoule du travail par le nouveau fichier de substitutions.

L'étape CheckTicketCount appelle un service Web RICOH ProcessDirector. Ce dernier vérifie si toutes les fiches de travail d'une commande ont été extraites. L'étape compare les valeurs de Personnalisé2 (nombre total de fiches de travail) et Personnalisé3 (fiches de travail extraites). Si les valeurs correspondent, l'étape définit la valeur de Personnalisé4 (résultat de la comparaison) sur ÉGAL. L'étape place la valeur dans un fichier de substitutions et remplace le fichier de substitutions du répertoire spoule par le nouveau fichier de substitutions.

La règle associée au connecteur [1] Toutes les fiches trouvées vérifie si la valeur de la propriété du travail Personnalisé4 (résultat de la comparaison) est ÉGAL.

  • Dans l'affirmative, le nombre de fiches de travail extraites équivaut au nombre de fiches de travail attendu. Le flot de travaux envoie le travail directement à l'étape CreateJobsFromXML.
  • Dans la négative, le nombre de fiches de travail extraites est inférieur au nombre total de fiches de travail attendu. La règle associée au connecteur [2] Rechercher des fiches vérifie si la valeur de la propriété de travail Nombre personnalisé 1 est inférieure à 10. La première fois que le travail arrive à l'étape CheckTicketCount, la valeur de la propriété Nombre personnalisé 1 est 0.
    • Si la valeur est comprise entre 0 et 9, le flot de travaux envoie le travail à l'étape Wait, qui impose une attente de 1 minute. Le flot de travaux envoie ensuite le travail à l'étape RunExternalProgram.

      L'étape RunExternalProgram lance un utilitaire Java qui incrémente la valeur de la propriété Nombre personnalisé 1 d'un pas égal à 1. Le flot de travaux renvoie ensuite le travail à l'étape CallSOAPService. Cette dernière renouvelle l'appel au service Web MarcomCentral qui renvoie les fiches de travail de la commande. Si le nombre de fiches de travail est inférieur au nombre attendu, le flot de travaux peut envoyer le travail à l'étape CallSOAPService jusqu'à 9 fois.

    • Si la valeur est 10, cela signifie que le travail a été envoyé 10 fois à l'étape CallSOAPService. Après 10 minutes, le nombre de fiches de travail extraites ne correspond pas au nombre attendu. Le travail n'est pas conforme à la règle associée au connecteur [2] Rechercher des fiches. Le flot de travaux envoie le travail par le biais du connecteur [3] Délai expiré à l'étape FailWithMesssage et écrit un message d'échec dans le journal du travail. Ce message est le suivant : Some job tickets were not found in the time allowed (Certaines fiches de travail restent introuvables après expiration du délai imparti).

        Remarque:
      • Comme ce message est une propriété de travail, il apparaît sur l'onglet d'information du bloc-notes des propriétés de tous les travaux qui transitent dans le flot de travaux. Ce message apparaît dans le journal du travail uniquement lorsque le flot de travaux envoie le travail à l'étape FailWithMesssage via le connecteur [3] Délai expiré.

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.

L'étape soumet les 2 travaux enfants au flot de travaux MarcomProcessJobTicket.

Le travail de la commande d'origine est envoyé à l'étape WaitForRelatedJobs.

Lorsque tous les travaux enfants de la commande arrivent à l'étape WaitForRelatedJobs dans le flot de travaux MarcomProcessJobTicket, RICOH ProcessDirector envoie le travail de la commande à l'étape RetainCompletedJobs. Ce travail prend alors l'état Conservé.

Lorsque cet événement se produit, la notification du service Web MarcomCloseoutOrder simule un appel à un service Web MarcomCentral. Ce service Web change l'état de la commande XML dans le magasin proposé en exemple.

Si la notification appelait le service Web au lieu de lancer la simulation, cette modification interviendrait dans le magasin proposé en exemple. Dans la boîte de dialogue Afficher par article du Gestionnaire de commandes, la valeur indiquée dans la colonne État de la commande de chaque article de la commande passe alors de Travail en cours à Livré.

Phases et étapes

L'illustration montre les étapes dans chacune des phases de l'exemple de flot de travaux.