ElaborazioneOrdiniMarcom

Questo flusso di lavoro e il flusso di lavoro ElaborazioneTicketDiLavoroMarcom dimostrano come scambiare dati con il sito Web MarcomCentral utilizzando i servizi Web SOAP. La dimostrazione include un dispositivo di input del servizio Web SOAP e una notifica del servizio Web SOAP.

Il dispositivo di input del servizio Web SOAP RicezioneOrdiniMarcom simula una chiamata ad un servizio Web MarcomCentral. Il dispositivo di input recupera un ordine XML dall'archivio di esempio nel sito Web MarcomCentral e invia il lavoro XML al flusso di lavoro ElaborazioneOrdiniMarcom.

L'operazione SetJobPropsFromTextFile imposta la proprietà Nome lavoro con Marcom Sample Order.

La procedura IndividuaFlussoDatiInput imposta il flusso di dati con XML.

La procedura ApplicaTrasformazioneXSL utilizza il foglio di stile XSLT orderToOverrides.xslt per convertire 8 elementi XML in 5 proprietà di lavoro RICOH ProcessDirector in un file di sovrascrittura.

La tabella elenca le proprietà di lavoro nell'ordine in cui sono specificate nel foglio di stile XSLT e in cui appaiono nel file di sovrascrittura.

Elemento XML Nome database della proprietà di lavoro Nome della proprietà di lavoro visualizzato nell'interfaccia utente
OrderNumber Job.Marcom.OrderNumber Numero Ordine MarcomCentral
ID Job.Marcom.OrderId ID Ordine MarcomCentral
ShippingAddress/Address1ShippingAddress/CityShippingAddress/StateShippingAddress/Zip Job.Info.Attr1 Personalizzato 1
User/Email Job.CustomerName Nome cliente
count(OrderDetails/OrderDetail) Job.Info.Attr2 Personalizzato 2

La procedura ChiamataServizioSOAP simula una chiamata a un servizio Web MarcomCentral e recupera 2 ticket di lavoro per l'ordine XML. Il valore nel campo password indica a RICOH ProcessDirector di eseguire la simulazione invece di chiamare il servizio Web.

La procedura ApplicaTrasformazioneXSL2 utilizza il foglio di stile XSLT jobTicketsReceived.xslt per calcolare il valore della proprietà Personalizzazione 3 conteggiando il numero di ticket di lavoro recuperati. La procedura inserisce il valore in un file di sovrascrittura e lo sovrascrive nella directory spool per il lavoro con il nuovo file di sovrascrittura.

La procedura ControllaCalcoloTicket chiama un servizio Web RICOH ProcessDirector. Il servizio Web controlla che siano stati recuperati tutti i ticket di lavoro per un ordine. La procedura compara i valori di Personalizzazione 2 (ticket di lavoro totali) e Personalizzazione 3 (ticket di lavoro recuperati). Se i valori corrispondono, la procedura imposta il valore di Personalizzazione 4 (risultato della comparazione) con UGUALE. La procedura inserisce il valore in un file di sovrascrittura e lo sovrascrive nella directory spool con il nuovo file di sovrascrittura.

La regola sul connettore [1] Tutti i ticket trovati controlla se il valore della proprietà di lavoro Personalizzazione 4 (risultato della comparazione) è UGUALE.

  • In tal caso, il numero dei ticket di lavoro recuperati è uguale al numero totale di ticket di lavoro previsti. Il flusso di lavoro invia il lavoro direttamente alla procedura CreaLavoriDaXML.
  • In caso contrario, invece, il numero di ticket di lavori recuperati è inferiore al numero totale di ticket di lavoro previsti. La regola sul connettore [2] Cerca ticket controlla se il valore della proprietà di lavoro Personalizza conteggio 1 è inferiore a 10. La prima volta che il lavoro arriva all'operazione CheckTicketCount, il valore della proprietà Personalizza conteggio 1 è pari a 0.
    • Se il valore è da 0 a 9, il flusso di lavoro invia il lavoro alla procedura Attendi, che attende per 1 minuto. Il flusso di lavoro invia quindi il lavoro alla procedura EseguiProgrammaEsterno.

      La procedura RunExternalProgram attiva un'utilità Java che aumenta il valore della proprietà Calcolo personalizzazione 1 di 1. Il flusso di lavoro ritrasmette quindi il lavoro alla procedura ChiamataServizioSOAP. La procedura ripete la chiamata al servizio Web MarcomCentral che restituisce i ticket di lavoro per l'ordine. Se il numero di ticket di lavoro recuperati è inferiore a quanto previsto, il flusso di lavoro può inviare il lavoro mediante la procedura ChiamataServizioSOAP fino a 9 volte.

    • Se il valore è pari a 10, il lavoro è stato inviato all'operazione CallSOAPService 10 volte. Dopo 10 minuti, il numero di ticket di lavoro recuperati non risulta uguale al numero previsto. Il lavoro non soddisfa la regola sul connettore [2] Cerca ticket. Il flusso di lavoro invia il lavoro mediante il connettore [3] Timeout alla procedura InsuccessoConMessaggio e scrive un messaggio di insuccesso al log del lavoro. Il messaggio precisa: Some job tickets were not found in the time allowed.

        Nota:
      • Dato che è una proprietà di lavoro, il messaggio viene visualizzato sulla scheda Informazioni del notebook della proprietà di lavoro per tutti i lavori che passano attraverso il flusso di lavoro. Il messaggio compare sul log di lavoro solo quando il flusso di lavoro invia il lavoro mediante connettore [3] Timeout alla procedura InsuccessoConMessaggio.

L'operazione CreateJobsFromXML utilizza l'espressione XPath //JobTicket per analizzare le informazioni del ticket di lavoro XML. La procedura rileva 2 ticket di lavoro e crea 2 lavori secondari.

La procedura invia i 2 lavori secondari al flusso di lavoro ElaborazioneTicketDiLavoroMarcom.

Il lavoro originale viene inviato alla procedura AttendiLavoriCorrelati.

Quando tutti i lavori secondari dell'ordine arrivano alla procedura AttendiLavoriCorrelati nel flusso di lavoro ElaborazioneTicketDiLavoroMarcom, RICOH ProcessDirector invia l'ordine di lavoro alla procedura ConservaLavoriCompletati. Lo stato dell'ordine cambia in Conservato.

Quando si verifica un evento, la notifica del servizio Web OrdineChiusuraMarcom simula una chiamata al servizio Web MarcomCentral. Il servizio Web modifica lo stato dell'ordine XML nell'archivio di esempio.

Se la notifica ha chiamato il servizio Web invece di eseguire la simulazione, questa modifica avviene nell'archivio di esempio. Nella finestra di dialogo Visualizza per Elemento in Gestione Ordini, il valore nella colonna Stato ordine per ciascun elemento nell'ordine cambia da Operazione in Corso a Spedito.

Fasi e procedure

L'illustrazione mostra le operazioni in ciascuna fase del flusso di lavoro.