Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

 

...

For Each

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.<

Bloco de código
languagexml
 <?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>
 

 <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>
   

   <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.

Bloco de código
languagexml
<?xml version="1.0"?>

<infNFe>
 

 <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>
 

 <infNFe>
   <NFSer>009</NFSer>

 

   <NFNum>0002</NFNum>

 

   <NFUF>SC</NFUF>

 

   <NFEmi>9999-12-31</NFEmi>

 

   <NFTip>0001</NFTip>

 

   <NFTot>9.999,99</NFTot>


 </infNFe>

 

 

...