Execução do fluxo de trabalho de amostra para pedidos de processamento recuperados de serviços web REST
Esse fluxo de trabalho usa estes objetos e arquivos de amostra:
- Fluxo de trabalho: RestfulWebServiceWF
-
Dispositivo de entrada: RestfulWebServiceSample
O dispositivo de entrada faz uma chamada GET para recuperar pedidos JSON de um serviço web REST de amostra em
http://localhost:15080/restapi/1.0/sample/order
-
Notificação: RestfulWebServiceSampleNotify
A notificação faz uma chamada POST para um serviço web de amostra em
http://localhost:15080/restapi/1.0/sample/completeJobTicket
-
Pedidos JSON
Um pedido é recuperado a cada 30 segundos do serviço web de amostra.
Conteúdo do pedido de amostra:
{"Order": {"orderId": "ORDnumber", "customername": "Ricoh"}}
Cada pedido contém um número gerado aleatoriamente, por exemplo: 1238875463.
-
Arquivos impressos:
Brochure.pdf
eCover.pdf
Esses arquivos são baixados localmente de
http://localhost:15080/restapi/
-
Arquivos de folha de estilo XSLT:
-
orderToOverrides.xslt
-
jobticketToOverrides.xslt
Os arquivos estão no diretório
restsample
:/aiw/aiw1/testfiles/restsample
(Linux e AIX)C:\aiw\aiw1\testfiles\restsample
(Windows)
-
-
Arquivos PDF de notificação
Um arquivo PDF de notificação é gerado para cada pedido concluído. Cada arquivo é nomeado ORDER-ORDnúmero, por exemplo: ORDER-ORD1238875463.
-
A etapa CallRESTService faz uma chamada GET para recuperar bilhetes de tarefa JSON de um serviço web REST de amostra em
http://localhost:15080/restapi/1.0/sample/jobTicket
- Obs.:
-
Os serviços web de amostra estão disponíveis localmente. Eles retornar dados de amostra em resposta a solicitações específicas feitas pelo dispositivo de entrada de amostra, notificação e etapa CallRESTService. Os serviços web não suportam outras solicitações.
-
Objetos e arquivos de amostra, incluindo o fluxo de trabalho RestfulWebServiceWF, estão instalados com o recurso Ativação de Serviços Web.
Para executar o fluxo de trabalho de amostra:
- Clique na guia Principal.
- No portlet de Impressoras, clique com o botão direito na impressora Sample e selecione Enable.
- No portlet Dispositivos de entrada, clique com o botão direito no dispositivos de
entrada de serviço web REST RestfulWebServiceSample e selecione Enable and Connect.
A tarefa aparece na tabela de tarefas.
- Clique com o botão direito no dispositivo de entrada RestfulWebServiceSample e selecione Disable
- Clique com o botão direito do mouse novamente no dispositivo de entrada e selecione
Desconecte.Obs.: O dispositivo de entrada de amostra faz a varredura por pedidos a cada 30 segundos e recupera uma tarefa JSON. Se você não desativar e desconectar o dispositivo de entrada, uma nova tarefa aparecerá na tabela de tarefas a cada 30 segundos.
Sempre que o dispositivo de entrada RestfulWebServiceSample recuperar uma tarefa JSON:
-
A tarefa será enviada pela vertente Parent do fluxo de trabalho.
-
A etapa SetJobPropsFromTextFile define a propriedade Customer name para RicohSample e a propriedade Custom 1 para RicohCustom.
-
A etapa ConvertJSONToXML converte a tarefa para XML.
-
A etapa ApplyXSLTransform usa a folha de estilo XSLT
orderToOverrides.xslt
para converter 2 elementos XML em 2 propriedades da tarefa RICOH ProcessDirector em um arquivo de substituições:Elemento XML Propriedade de tarefa orderId Job.Info.Attr3 customername Job.CustomerName Conteúdo do arquivo de substituições de amostra:
Job.Info.Attr3=ORD1238875463Job.CustomerName=Ricoh
A etapa coloca o arquivo de substituições no diretório de spool da tarefa. RICOH ProcessDirector usa os valores no arquivo de substituições para configurar os valores das propriedades da tarefa.
-
A etapa AssignJobValues define o valor da propriedade Job name para ORDER-${Job.Info.Attr3}, por exemplo: ORDER-ORD1238875463.
-
A etapa CallRESTService faz uma chamada GET para um dos serviços web de amostra para simular um site para pedido de livros. A etapa especifica o ID de pedido como o valor da propriedade Parâmetros da solicitação: orderId:${Job.Info.Attr3}.
O serviço web retorna informações do bilhete de tarefa JSON para o pedido para RICOH ProcessDirector.
Conteúdo das informações do bilhete de tarefa de amostra:
{"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" }]}
-
A etapa ConvertJSONToXML converte as informações de bilhete de tarefa JSON para XML.
-
A etapa CreateJobsFromXML usa a expressão XPath //JobTicket para analisar as informações de bilhete da tarefa XML. A etapa encontra 2 bilhetes de tarefas e cria 2 tarefas filhas.
Conteúdo das tarefas filhas de amostra:
<?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>
A etapa envia as 2 tarefas filhas para o fluxo de trabalho RestfulWebServiceWF.
A regra no conector [2] Child determina se as tarefas são tarefas filhas procurando um ponto decimal no número da tarefa. O conector envia tarefas filhas pela vertente Child do fluxo de trabalho.
A tarefa JSON original continua pela vertente Parent para a etapa RunHotFolderApplication. A etapa coloca a tarefa JSON em uma hot folder:
-
/aiw/aiw1/testfiles/restsample/sending
(Linux e AIX) -
C:\aiw\aiw1\testfiles\restsample\sending
(Windows)
Um dos serviços web de amostra que simula o site para pedidos de livros faz uma varredura na hot folder em busca de tarefas. O serviço web processa cada tarefa JSON quando recebe uma solicitação da notificação RestfulWebServiceSampleNotify. Para obter mais informações, consulte o item de lista para a etapa RetainCompletedJobs.
-
-
A etapa ApplyXSLTransform2 usa a folha de estilo XSLT
jobticketToOverrides.xslt
para converter 6 elementos XML em cada tarefa filha em propriedades da tarefa RICOH ProcessDirector em um arquivo de substituições:Elemento XML Propriedade de tarefa file Job.Info.Attr2 itemnumber Job.Info.Attr1 type Job.Info.Attr4 title Job.Info.Attr5 copies Job.Copies media Job.Media Conteúdo do arquivo de substituições de amostra:
Job.Info.Attr2=http://localhost:15080/restapi/Brochure.pdfJob.Info.Attr1=1182563839Job.Info.Attr4=BrochureJob.Info.Attr5=RPDBestSellerJob.Copies=4Job.Media=Letter Preprinted
-
A etapa DownloadFile faz o download dos arquivos
Cover.pdf
eBrochure.pdf
dehttp://localhost:15080/restapi/
definindo o valor da propriedade URL for download file para ${Job.Info.Attr2}. -
A etapa AssignJobValues2 define os valores de 3 propriedades da tarefa:
-
Requested printer: Sample
-
Input data stream: PDF
-
Job name: ${Job.Info.Attr5}-${Job.Info.Attr4}
Os nomes de tarefas filhas para os arquivos
Brochure.pdf
eCover.pdf
agora são RPDBestSeller-Brochure e RPDBestSeller-Cover. -
-
As etapas OptimizePDF, CountPages, CreatePageRanges e PrintJobs processam e imprimem as tarefas filhas RPDBestSeller-Brochure e RPDBestSeller-Cover na impressora Amostra.
-
Quando cada tarefa filha chega à etapa RetainCompletedJobs, a notificação de serviço web RestfulWebServiceSampleNotify faz uma chamada POST para um dos serviços web de amostra em
http://localhost:15080/restapi/1.0/sample/completeJobTicket
. O valor da propriedade Parâmetros da solicitação é:jobTicket:${Job.Info.Attr1}jobId:${Job.ID}
O serviço web aguarda até que todas as tarefas filhas para a tarefa JSON original estejam no estado de tarefa Retained. Em seguida, o serviço web cria um arquivo PDF contendo o número da tarefa e o número de item de cada bilhete de tarefa do pedido. Por exemplo:
10000001.2 with item number 278955095 has been processed10000001.1 with item number 913895452 has been processed
O serviço web coloca o arquivo PDF em uma hot folder de recuperação para a etapa RunHotFolderApplication:
-
/aiw/aiw1/testfiles/restsample/retrieval
(Linux e AIX) -
C:\aiw\aiw1\testfiles\restsample\retrieval
(Windows)
A etapa RunHotFolderApplication faz uma varredura da hot folder, encontra a tarefa de PDF e envia a tarefa para a próxima etapa.
-
-
A etapa AssignJobValues define o valor da propriedade Fluxo de dados de entrada como PDF e envia a tarefa de PDF para a etapa RetainCompletedJobs.
-
- Na tabela de tarefas, clique com o botão direito na tarefa ORDER-ORDnúmero e selecione View.
O visualizador exibe o arquivo PDF. As informações no arquivo PDF confirmam que as 2 tarefas filhas foram processadas.