Informações |
---|
|
O TOTVS ESB não é mais ofertado por se tratar de uma solução legada. A nova solução para realizar integrações é o TOTVS iPaaS. Saiba mais detalhes aqui. |
A finalidade do componente Aggregator é permitir que vários documentos (TXT ou XML) sejam agregados em uma única unidade de envio. A partir de um componente Aggregator existem duas possibilidades de conexão com outros componentes:
Enviar a informação para algum componente sender (fileFile, emailEmail, ftpFTP, etc);
Realizar a identificação e análise do conteúdo para que sejam tomadas algumas decisões.
O componente Aggregator está disponível a partir da atualização fluig Fluig ESB 12.3.x.
Parâmetros
Campo | Descrição |
---|
Name | Inserir uma identificação para a configuração do componente. |
completionSizeCompletion Size | Número máximo de mensagens agregadas. Esta é definida com um valor numérico entre 1 e 9999. |
completionTimeoutCompletion Timeout | Tempo, em segundos, que o componente deve ficar inativo (sem receber mensagens) antes de encerrar a agregação. Esta opção pode ser definida como um valor entre 1 e 9999. Não é possível utilizar esta opção juntamente com o parâmetro CompletionInterval, apenas um dos dois pode ser utilizado. |
completionIntervalCompletion Interval | Período, em segundos, que o componente será agendado para encerrar a agregação. O ESB mantém uma tarefa em background que é ativada a cada período configurado. Não é possível utilizar esta opção juntamente com o parâmetro completionTimeout, apenas um deles pode ser utilizado. |
usePersistenceUse Persistence | Quando selecionado, o ESB persistirá o conteúdo das |
messagens mensagens agregadas em memória secundária até que o processo de agregação seja concluído. Esta opção é recomendada quando houver o requisito de continuar agregando mensagens mesmo após o reinício do serviço do ESB para agregações que não foram concluídas anteriormente. As mensagens agregadas são mantidas em persistência local no diretório: ${ESB_HOME}/data/hawtdb.dat. |
IgnoreInvalidCorrelationKeysIgnore Invalid Correlation Keys | Quando selecionado, configura o componente para ignorar os tokens de correlação, que não podem ser avaliados para um valor. Por padrão, o ESB vai lançar uma exceção quando não encontrar um identificador na mensagem para agregação, mas é possível ativar esta opção para ignorar esta situação. |
Type | Configura o componente para agregar tipos de conteúdos de mensagens distintas. Os valores possíveis são: |
Parâmetros TXT
TxtCorrelationTypeCorrelation Type | Especifica qual a regra de agregação das mensagens. Pode assumir dois (2) valores: |
AllMessages - All Messages - agrega todas as mensagens;
- Contains - agrega as mensagens de acordo com o token informado no parâmetro
|
containsTokencontainsTokenContains Token | Agrega as mensagens que contém o token especificado neste parâmetro. |
useLineBreak caracter caractere de quebra de linha nas mensagens. |
Parâmetros XML
XmlcorrelationTypeCorrelationType | Especificar qual o tipo de conteúdo da mensagem. Pode assumir dois (2) valores: |
AllMessages - All Messages - todas as mensagens;
- XPath - agrega as mensagens de acordo com o token informado no parâmetro XPath.
|
XPath | Agrega as mensagens que contém o XPath informado neste parâmetro. |
rootTagNameRoot Tag Name | Cria uma tag XML raiz para a agregação contendo o nome especificado neste parâmetro. |
Exemplo 1
A seguir é apresentado um exemplo de mensagens de entrada do componente Aggregator contendo duas notas fiscais distintas.
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>
<NFEmi>9999-12-31</NFEmi>
<NFTip>0001</NFTip>
<NFTot>9.999,99</NFTot>
</infNFe>
</ESBMessage>
<?xml version="1.0"?>
<ESBMessage>
<MessageHeader>
<DocType>Nota Fiscal</DocType>
<DocVersion>Nota Fiscal</DocVersion>
</MessageHeader>
<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 os campos completionSize com o valor "2", Type com o valor "XML", XmlCorrelationType com o valor "XPath", XPath com o valor "/ESBMessage/infNFe/NFSer" e rootTagName com o valor "NFeLote", o componente unirá as mensagens originas em uma mensagem de saída conforme abaixo:
...
Bloco de código |
---|
<NFeLote>
<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>
</NFeLote> |
Exemplo 2
A seguir é apresentado um exemplo de duas mensagens de entrada do componente Aggregator contendo pedidos de clientes:
...
Bloco de código |
---|
PD| 48083|PEDIDO CLIENTE 3|23/11/2012|002 - Cliente Varejo|Açougue
IT| 48083| 2,00|01619002 | 12,0000| 12,0000
IT| 48083| 1,00|01619006 | 30,0000| 30,0000
TT| 48083| 42,0000
END |
...
Para configurar o componente para agregar somente as informações do cliente código "002 - Cliente Varejo" acima em uma única mensagem, é necessário configurar as seguintes propriedades:
...
containsToken = "002 - Cliente Varejo"
useLineBreak = "true"
Mensagem de saída
Bloco de código |
---|
PD| 48082|PEDIDO CLIENTE 1|23/11/2012|Valdir|Panificadora XYZ
IT| 48082| 2,00|01619002 | 3,0000| 6,0000
IT| 48082| 1,00|01619006 | 20,0000| 20,0000
TT| 48082| 26,0000
END
PD| 48083|PEDIDO CLIENTE 2|23/11/2012|Marco|Açougue
IT| 48083| 2,00|01619002 | 12,0000| 12,0000
IT| 48083| 1,00|01619006 | 30,0000| 30,0000
TT| 48083| 42,0000
END |