Histórico da Página
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.
Campo | Descrição |
---|---|
Name | Inserir uma identificação para a configuração do componente. |
Node Path | Especificar 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 | ||
---|---|---|
| ||
<?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 | ||
---|---|---|
| ||
<?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> |
...