MarcomProcessOrders

Esse fluxo de trabalho e o fluxo de trabalho MarcomProcessJobTicket demonstram como trocar dados com o site do MarcomCentral usando serviços Web SOAP. A demonstração inclui um dispositivo de entrada de serviço Web SOAP e uma notificação de serviço Web SOAP.

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.

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.

Fases e etapas

A ilustração mostra as etapas de cada fase do fluxo de trabalho de amostra.