Esecuzione del flusso di lavoro di esempio per elaborare ordini recuperati dai servizi Web REST
Questo flusso di lavoro utilizza questi oggetti e file di esempio:
- Flusso di lavoro: RestfulWebServiceWF
-
Dispositivo di input: RestfulWebServiceSample
Il dispositivo di input esegue una chiamata GET per recuperare gli ordini JSON da un servizio Web REST di esempio su
http://localhost:15080/restapi/1.0/sample/order
-
Notifica: RestfulWebServiceSampleNotify
La notifica esegue una chiamata POST ad un servizio Web di esempio su
http://localhost:15080/restapi/1.0/sample/completeJobTicket
-
Ordini JSON
Un ordine viene recuperato ogni 30 secondi dal servizio Web di esempio.
Contenuto dell'ordine di esempio:
{"Order": {"orderId": "ORDnumber", "customername": "Ricoh"}}
Ogni ordine contiene un numero generato a caso, ad esempio: 1238875463.
-
File di stampa:
Brochure.pdf
eCover.pdf
Questi file vengono scaricati localmente da
http://localhost:15080/restapi/
-
File del foglio di stile XSLT:
-
orderToOverrides.xslt
-
jobticketToOverrides.xslt
I file si trovano nella directory
/aiw/aiw1/testfiles/restsample
: -
-
File PDF di notifica
Un file PDF di notifica viene generato per ciascun ordine completato. Ogni file viene chiamato ORDER-ORDnumero, ad esempio: ORDER-ORD1238875463.
-
La proceduraCallRESTService esegue una chiamata GET per recuperare i ticket lavoro JSON da un servizio Web REST di esempio su
http://localhost:15080/restapi/1.0/sample/jobTicket
- Nota:
-
I servizi Web di esempio sono disponibili localmente. Restituiscono dati di esempio in risposta a richieste specifiche trasmesse dal dispositivo di input di esempio, notifica e procedura CallRESTService. I servizi Web non supportano altre richieste.
-
Gli oggetti e i file di esempio, incluso il flusso di lavoro RestfulWebServiceWF, sono installati con la funzione Attivazione servizi Web.
Per eseguire il flusso di lavoro di esempio:
- Fare clic sulla scheda Principale.
- Nel portlet Stampanti, fare clic con il tasto destro del mouse sulla stampante Esempio e selezionare Abilita.
- Nel portlet del Dispositivo di input, fare clic con il tasto destro del mouse sul
dispositivo di input del servizio Web REST RestfulWebServiceSample e selezionare Abilita e Connetti.
Nella tabella lavori viene visualizzato un lavoro.
- Fare clic con il tasto destro del mouse sul dispositivo di input RestfulWebServiceSample e selezionare Disabilita.
- Fare clic nuovamente con il tasto destro del mouse sul dispositivo di input e selezionare
Disconnetti.Nota: Il dispositivo di input di esempio esegue un polling per gli ordini ogni 30 secondi e recupera un lavoro JSON. Se il dispositivo di input non viene disabilitato e disconnesso, nella tabella lavori compare un nuovo lavoro ogni 30 secondi.
Ogni volta che il dispositivo di input RestfulWebServiceSample recupera un lavoro JSON:
-
Il lavoro viene inviato mediante la sezione Principale del flusso di lavoro.
-
La procedura SetJobPropsFromTextFile imposta la proprietà Nome Cliente su RicohSample e la proprietà Cliente 1 su RicohCustom.
-
La procedura ConvertJSONToXML converte il lavoro in XML.
-
La funzione ApplyXSLTransform usa il foglio di stile XSLT
orderToOverrides.xslt
per convertire 2 elementi XML in 2 RICOH ProcessDirector proprietà di lavoro in un file di sovrascrittura:Elemento XML Proprietà di lavoro orderId Job.Info.Attr3 customername Job.CustomerName Contenuti di un esempio di file di sovrascrittura:
Job.Info.Attr3=ORD1238875463 Job.CustomerName=Ricoh
La procedura posiziona il file di sovrascrittura nella directory di spool per il lavoro. RICOH ProcessDirector utilizza i valori nel file di sovrascrittura per impostare i valori delle proprietà per il lavoro.
-
La funzione AssignJobValues imposta la proprietà relativa al valore del Nome lavoro su ORDER-${Job.Info.Attr3}, ad esempio: ORDER-ORD1238875463.
-
L'operazione CallRESTService esegue una chiamata GET ad uno dei servizi Web di esempio che simulano il sito Web per ordinare libri. La procedura specifica l'ID ordine in quanto valore della proprietà dei Parametri di richiesta: orderId:${Job.Info.Attr3}.
Il servizio Web restituisce le informazioni di ticket di lavoro JSON per l'ordine a RICOH ProcessDirector.
Contenuti di informazioni di ticket di lavoro di esempio:
{"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" }]}
-
La procedura ConvertJSONToXML converte le informazioni del ticket di lavoro JSON in XML.
-
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.
Contenuti di lavori secondari di esempio:
<?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>
La procedura invia i 2 lavori secondari al flusso di lavoro RestfulWebServiceWF.
La regola sul connettore [2] Secondario determina se i lavori sono secondari controllando la presenza o meno di un punto decimale nel numero di lavoro. Il connettore invia i lavori secondari mediante la sezione Secondario del flusso di lavoro.
Il lavoro JSON originario continua attraverso la sezione Principale fino alla procedura RunHotFolderApplication. Questa operazione mette il lavoro JSON in una hot folder:
/aiw/aiw1/testfiles/restsample/sending
Uno dei servizi Web di esempio che simula il sito Web per l'ordinazione di libri esegue il pooling delle hot folder per i lavori. Il servizio Web elabora ciascun lavoro JSON quando riceve una richiesta dalla notifica RestfulWebServiceSampleNotify. Per ulteriori informazioni, fare riferimento agli elementi contenuti nell'elenco relativo alla procedura RetainCompletedJobs.
-
La procedura ApplyXSLTransform2 utilizza il foglio di stile XSLT
ticketlavorePerSovrascrittura.xslt
per convertire 6 elementi XML per ciascun lavoro secondario in proprietà di lavoro RICOH ProcessDirector in un file di sovrascrittura:Elemento XML Proprietà di lavoro file Job.Info.Attr2 itemnumber Job.Info.Attr1 type Job.Info.Attr4 title Job.Info.Attr5 copies Job.Copies media Job.Media Contenuti di un esempio di file di sovrascrittura:
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
-
La procedura DownloadFile scarica sia il
Cover.pdf
sia ilBrochure.pdf
file dahttp://localhost:15080/restapi/
impostando il valore della proprietà URL for download file su ${Job.Info.Attr2}. -
La procedura AssignJobValues2 stabilisce il valore di 3 proprietà di lavoro:
-
Stampante richiesta: Esempio
-
Flusso di dati input: PDF
-
Nome lavoro: ${Job.Info.Attr5}-${Job.Info.Attr4}
TI nomi dei lavori secondari per il file
Brochure.pdf
e per il fileCover.pdf
sono ora RPDBestSeller-Brochure e RPDBestSeller-Cover. -
-
Le procedure OptimizePDF, CountPages, CreatePageRanges, e PrintJobs elaborano e stampano i lavori secondari RPDBestSeller-Brochure e RPDBestSeller-Cover sulla stampante Esempio.
-
Quando ciascun lavoro secondario di stampa arriva alla procedura RetainCompletedJobs la notifica del servizio web RestfulWebServiceSampleNotify esegue una chiamata POST a uno dei servizi web di esempio
http://localhost:15080/restapi/1.0/sample/completeJobTicket
. Il valore della proprietà Richiesta parametri è:jobTicket:${Job.Info.Attr1} jobId:${Job.ID}
Il servizio Web attende fino a quando tutti i lavori secondari del lavoro JSON originario sono nello stato lavoro Conservato. Il servizio Web crea quindi un file PDF con il numero di lavoro e il numero di elemento per ciascun ticket di lavoro nell'ordine. Ad esempio:
10000001.2 with item number 278955095 has been processed10000001.1 with item number 913895452 has been processed
Il servizio web inserisce il file PDF nella hot folder di recupero per l'operazione RunHotFolderApplication:
/aiw/aiw1/testfiles/restsample/retrieval
La procedura RunHotFolderApplication esegue un polling della hot folder, identifica il file PDF e invia il lavoro alla procedura successiva.
-
L'operazione AssignJobValues imposta il valore della proprietà Flusso di dati di input su PDF e invia il lavoro PDF all'operazione RetainCompletedJobs.
-
- Nella tabella lavori, fare di nuovo clic con il tasto destro su ORDER-ORDnumero lavoro e selezionare Visualizza.
Nel visualizzatore viene visualizzato il file PDF. L'informazione contenuta nel file PDF conferma che 2 lavori secondari sono stati elaborati.