MarcomProcessOrders
O dispositivo de entrada de serviço Web SOAP MarcomReceiveOrders simula uma chamada para um serviço Web do MarcomCentral. O dispositivo de entrada recupera um pedido XML da amostra de loja no site do MarcomCentral e envia a tarefa XML para o fluxo de trabalho MarcomProcessOrders.
A etapa SetJobPropsFromTextFile define a propriedade Nome da tarefa para Marcom Sample Order.
A etapa DetectInputDataStream define o fluxo de dados para XML.
A etapa ApplyXSLTransform usa a folha de estilo XSLT orderToOverrides.xslt
para converter 8 elementos XML em 5 propriedades da tarefa RICOH ProcessDirector em um arquivo de substituições.
A tabela lista as propriedades da tarefa no pedido em que foram especificadas na folha de estilo XSLT e que aparecem no arquivo de substituições.
Elemento XML | Nome do banco de dados da propriedade da tarefa | Nome da interface com o usuário da propriedade da tarefa |
---|---|---|
OrderNumber | Job.Marcom.OrderNumber | Número do pedido do MarcomCentral |
ID | Job.Marcom.OrderId | ID do pedido do MarcomCentral |
ShippingAddress/Endereço1 ShippingAddress/Cidade ShippingAddress/Estado ShippingAddress/CEP | Job.Info.Attr1 | Personalizada 1 |
Usuário/E-mail | Job.CustomerName | Nome do cliente |
count(OrderDetails/OrderDetail) | Job.Info.Attr2 | Personalizada 2 |
A etapa CallSOAPService simula uma chamada para um serviço Web do MarcomCentral e ele recupera 2 bilhetes de tarefas para o pedido XML. O valor no campo de senha instrui o RICOH ProcessDirector a executar a simulação ao invés de chamar o serviço Web.
A etapa ApplyXSLTransform2 usa a folha de estilo XSLT jobTicketsReceived.XSLT
para calcular o valor da propriedade Custom 3, contando o número de bilhetes de tarefas que foram recuperados. A etapa coloca o
valor em um arquivo de substituições e substitui o arquivo de substituições no diretório
de spool para a tarefa com o novo arquivo de substituições.
A etapa CheckTicketCount chama um serviço Web RICOH ProcessDirector. O serviço Web verifica se todos os bilhetes de tarefas de um pedido foram recuperados. A etapa compara os valores dos Custom 2 (total de bilhetes de tarefas) e Custom 3 (bilhetes de tarefas recuperados). Se os valores correspondem, a etapa define o valor de Custom 4 (resultado da comparação) para IGUAL. A etapa coloca o valor em um arquivo de substituições e substitui o arquivo de substituições no diretório de spool com o novo arquivo de substituições.
A regra no conector [1] Todos os bilhetes encontrados verifica se o valor da propriedade da tarefa Custom 4 (resultado da comparação) é IGUAL.
- Nesse caso, o número de bilhetes de tarefas recuperados é igual ao número total de bilhetes de tarefas esperado. O fluxo de trabalho envia a tarefa diretamente para a etapa CreateJobsFromXML.
- Se não, o número de bilhetes de tarefas recuperados é menor que o número total de
bilhetes de tarefas esperado. A regra do conector [2] Verificar por bilhetes verifica se o valor da propriedade da tarefa Contagem personalizada 1 é menor que 10. A primeira vez em que a tarefa chega à etapa CheckTicketCount, o valor da propriedade Contagem personalizada 1 é 0.
- Se o valor for de 0 a 9, o fluxo de trabalho enviará a tarefa para a etapa Aguardar, que aguarda por 1 minuto. Em seguida, o fluxo de trabalho envia a tarefa para a
etapa CreateJobsFromXML.
A etapa RunExternalProgram executa um utilitário Java que aumenta o valor da propriedade Contagem personalizada 1 propriedade em 1. Em seguida, o fluxo de trabalho envia a tarefa de volta para a etapa CallSOAPService. A etapa repete a chamada para o serviço Web do MarcomCentral que retorna bilhetes de tarefas para o pedido. Se o número de bilhetes de tarefas recuperados é menor do que o esperado, o fluxo de trabalho pode enviar a tarefa pela etapa CallSOAPService até 9 vezes.
- Se o valor for 10, a tarefa foi enviada para a etapa CallSOAPService 10 vezes. Após 10 minutos, o número de bilhetes de tarefas recuperados não é igual
ao número esperado. A tarefa não atende a regra no conector [2] Verificar por bilhetes. O fluxo de trabalho envia a tarefa pelo conector [3] Tempo Limite para a etapa FailWithMesssage e grava uma mensagem de falha no log da tarefa. A mensagem informa: Alguns bilhetes de tarefas não foram encontrados no tempo permitido.
- Obs.:
- Como a mensagem é uma propriedade da tarefa, ela aparece na guia Informações do bloco de notas da propriedade da tarefa para todas as tarefas que passam pelo fluxo de trabalho. A mensagem aparece no log da tarefa somente quando o fluxo de trabalho envia a tarefa pelo conector [3] Tempo Limite para a etapa FailWithMesssage.
- Se o valor for de 0 a 9, o fluxo de trabalho enviará a tarefa para a etapa Aguardar, que aguarda por 1 minuto. Em seguida, o fluxo de trabalho envia a tarefa para a
etapa CreateJobsFromXML.
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.
A etapa envia as 2 tarefas filhas para o fluxo de trabalho MarcomProcessJobTicket.
A tarefa do pedido original é enviada para a etapa WaitForRelatedJobs.
Quando todas as tarefas filhas do pedido alcançam a etapa WaitForRelatedJobs no fluxo de trabalho MarcomProcessJobTicket, RICOH ProcessDirector envia a tarefa do pedido para a etapa RetainCompletedJobs. O estado da tarefa do pedido muda para Retido.
Quando esse evento ocorre, a notificação do serviço Web MarcomCloseoutOrder simula uma chamada para um serviço Web do MarcomCentral. O serviço Web muda o status do pedido XML na amostra de loja.
Se a notificação chamou o serviço Web em vez de executar a simulação, essa mudança ocorre na loja de amostra. Na caixa de diálogo Exibir por Item do Gerenciador de Pedidos, o valor da coluna Status do Pedido de cada item do pedido poderia mudar de Trabalho em Andamento para Enviado.