Histórico da Página
...
- Cliente possui o Totvs Antecipa instalado em seu sistema.
É disponibilizada uma mensagem do tipo Financeiro para executar um procedimento:
Informações title Modelo base de mensagem para comunicação entre serviços Temos 2 padrões de mensagens entre serviços dentro do contexto aplicativo/solução. Para mais informações acessar a RFC: https://arquitetura.totvs.io/architectural-records/RFCs/Corporativas/RFC000011/
Bloco de código title Padrão Totvs { "header": { "type": "Financeiro", "tenantId": "e21c8e75-9dfc-4169-a599-e233538d72a4", "erpTenant": { "protheus":"T1" }, "generatedOn": "2021-06-08T15:18:08.367574Z", "locale": "pt_BR" }, "content": { "requestID": "1bc180de-ef14-4b75-83ac-b73ed1fa7518", "identifiers": { "CPF": "40254898765" }, "roles": [] } }
Bloco de código title Padrão CloudEvents { "specversion": "1.0", "time": "2022-04-19T19:05:23.9308049Z", "correlationid": "f95a7e8c-6f27-48e9-a74e-f0439f9ab540", "tenantid": "e21c8e75-9dfc-4169-a599-e233538d72a4", "id": "abc3845f-2a76-4ab4-b8bd-8abbb495d2c4", "source": "recorrencia", "type": "Financeiro", "data": { "transactionIdmeu": "1bc180de-ef14-4b75-83ac-b73ed1fa7518dado", "typeError "CPF": "PrepareAddNewPartner", "errorMessage": "Partner already existis in the database" 40254898765" } }
Deve existir uma classe no ERP FinanceiroMessageReader:
Bloco de código #include "protheus.ch" /*/{Protheus.doc} FinanceiroMessageReader Exemplo de classe de processamento de mensagens @type class @author izac.ciszevski /*/ Class FinanceiroMessageReader from LongNameClass method New() method Read() EndClass /*/{Protheus.doc} FinanceiroMessageReader::New construtor @type method @author izac.ciszevski /*/ method New() Class FinanceiroMessageReader return self /*/{Protheus.doc} FinanceiroMessageReader::Read Responsável pela leitura e processamento da mensagem. @type method @author izac.ciszevski @param oLinkMessage, object, Instância de FwTotvsLinkMesage da mensagem @return logical, sucesso ou falha. Determina se deve ou não retirar a mensagem da fila. /*/ method Read( oLinkMessage ) Class FinanceiroMessageReader ConOut( oLinkMessage:RawMessage()) ConOut( oLinkMessage:Header():toJson()) ConOut( oLinkMessage:Content():toJson()) ConOut( oLinkMessage:Type()) ConOut( oLinkMessage:tenantId()) ConOut( oLinkMessage:requestID()) return .T.
- O Job FwTotvsLinkJob é executado e repasse a mensagem recebida para a Classe FinanceiroMessageReader, que faz o processamento.
- Caso a mensagem seja processada com sucesso ela será removida da fila de processamento. Caso contrário ela permanecerá na fila e haverá nova tentativa de execução.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas