Árvore de páginas

A partir da atualização Fluig ESB 12.3 o componente For Each foi renomeado para Splitter. Os diagramas antigos que possuíam o componente ForEach serão automaticamente convertidos para o componente Splitter utilizando as configurações previamente realizadas, não afetando o funcionamento do mesmo.


A finalidade desse componente é permitir que um documento XML seja dividido em várias unidades de envio. Um pré requisito do componente for-each é que a mensagem de entrada esteja no formato XML.

A partir de um componente For Each existem duas possibilidades: enviar a informação para algum componente sender (File, Email, FTP, etc), ou realizar a identificação e análise do conteúdo para que sejam tomadas algumas decisões.


CampoDescrição
NameInserir uma identificação para a configuração do componente.
Node PathEspecificar qual será o nível de divisão de um documento. Assim, a cada iteração do For Each, o sistema será enviado para o próximo componente que estiver no intervalo definido neste campo. Este caminho deve ser informado no formato XPath.
Ex.: /root/nodes/node.


A critério de exemplo, suponhamos que a mensagem de entrada do componente For Each seja conforme o XML abaixo apresentando um lote com duas notas fiscais.

 <?xml version="1.0"?>
 <ESBMessage>
   <MessageHeader>
     <DocType>Nota Fiscal</DocType>
   <DocVersion>Nota Fiscal</DocVersion>
   </MessageHeader>
   <infNFe>
     <NFSer>009</NFSer>
   <NFNum>0001</NFNum>
   <NFUF>SC</NFUF>
   <NFEmi>9999-12-31</NFEmi>
   <NFTip>0001</NFTip>
   <NFTot>9.999,99</NFTot>
   </infNFe>
   <infNFe>
     <NFSer>009</NFSer>
   <NFNum>0002</NFNum>
   <NFUF>SC</NFUF>
   <NFEmi>9999-12-31</NFEmi>
   <NFTip>0001</NFTip>
   <NFTot>9.999,99</NFTot>
   </infNFe>
 </ESBMessage>


Ao configurar o campo Node Path com o valor ESBMessage/infNFe, o componente irá quebrar a mensagem original em duas mensagens de saída conforme abaixo.

<?xml version="1.0"?>
 <infNFe>
   <NFSer>009</NFSer>
   <NFNum>0001</NFNum>
   <NFUF>SC</NFUF>
   <NFEmi>9999-12-31</NFEmi>
   <NFTip>0001</NFTip>
   <NFTot>9.999,99</NFTot>
 </infNFe>
   
<?xml version="1.0"?>
 <infNFe>
   <NFSer>009</NFSer>
   <NFNum>0002</NFNum>
   <NFUF>SC</NFUF>
   <NFEmi>9999-12-31</NFEmi>
   <NFTip>0001</NFTip>
   <NFTot>9.999,99</NFTot>
 </infNFe>