Páginas filhas
  • ER_PCREQ-9642_Mensageria TOTVS - Mudanças no businessContent

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Origem da mensagem:
    • O EAI(ERP), no retorno da mensagem, grava as informações da mensagem de resposta (ResponseMessage);

 

            Origem –> Vertical       /       Destino -> ERP

Image Added

Mensagem de negócio - BusinessMessage/Event

<TOTVSMessage>

 <MessageInformation version="1.000">

      <UUID>40c65ac2-7ed2-4394-b778-964534b12450</UUID>

      <Type>BusinessMessage</Type>

      <Transaction>NomeDoERP/objetoNegocioERP</Transaction>

      <StandardVersion>1.000</StandardVersion>

      <SourceApplication>Origem</SourceApplication>

      <CompanyId>1</CompanyId>

      <BranchId>1</BranchId>

      <Product name="Destino" version="12.1.9" />

      <GeneratedOn>2016-02-02T16:20:00</GeneratedOn>

      <DeliveryType>Sync</DeliveryType>

   </MessageInformation>

   <BusinessMessage>

      <BusinessEvent>

         <Entity>NomeDoERP/objetoNegocioERP</Entity>

         <Event>upsert</Event>

         <Identification>

         </Identification>

      </BusinessEvent>

      <BusinessContent>

        <DADOSDOERP>

         <IDERP>-1</IDERP>

           <CODIGOERP>01854</CODIGOERP>

           <NOMEERP>NOME</NOMEERP>

           <TIPOERP></TIPOERP>

           <CAMPO1ERP></CAMPO1ERP>

           <CAMPO2ERP></CAMPO2ERP>

           <DETALHEERP>

              <IDDETALHE>-1</IDDETALHE>

              <CODIGODETALHEERP>4561</CODIGODETALHEERP>

              <NOMEDETALHEERP></NOMEDTALHEERP>

           </DETALHERP>

         </DADOSDOERP>

      </BusinessContent>

  </BusinessMessage>

</TOTVSMessage>

 

 

Mensagem de negócio - BusinessMessage/Request

<TOTVSMessage>

 <MessageInformation version="1.000">

      <UUID>40c65ac2-7ed2-4394-b778-964534b12451</UUID>

      <Type>BusinessMessage</Type>

      <Transaction>NomeDoERP/processaObjetoNegocioERP</Transaction>

      <StandardVersion>1.000</StandardVersion>

      <SourceApplication>Origem</SourceApplication>

      <CompanyId>1</CompanyId>

      <BranchId>1</BranchId>

      <Product name="Destino" version="12.1.9" />

      <GeneratedOn>2016-02-02T16:20:00</GeneratedOn>

      <DeliveryType>Sync</DeliveryType>

   </MessageInformation>

   <BusinessMessage>

     <BusinessRequest>

        <Operation>NomeDoERP/processaObjetoNegocioERP</Operation>

     </BusinessRequest>

      <BusinessContent>

        <PARAMETROS>

         <PAR1>1</PAR1>

           <PAR2>2</PAR2>

           <PAR3>3</PAR3>

         </PARAMETROS>

      </BusinessContent>

  </BusinessMessage>

</TOTVSMessage>

 

Mensagem de resposta - ResponseMessage

<ResponseMessage>

   <ReceiveMessage>

      <SentBy>Destino</SentBy>

      <UUID>0fdf65b2-9f1e-4913-96c8-d4236628ff7d</UUID>

      <Event>upsert</Event>

      <MessageContent> Conteúdo original</MessageContent>

   </ReceiveMessage>

   <ProcessingInformation>

       <ProcessedOn>2016-01/01</ProcessedOn>

       <Status>OK</Status>

       <ListOfMessages> </ListOfMessages>

   </ProcessingInformation>

   <ReturnContent>

     <XMLContent>

       <DADOSDOERP>

         <IDERP>1857</IDERP>

           <CODIGOERP>01854</CODIGOERP>

           <NOMEERP>NOME</NOMEERP>

           <TIPOERP></TIPOERP>

           <CAMPO1ERP></CAMPO1ERP>

           <CAMPO2ERP></CAMPO2ERP>

           <DETALHEERP>

              <IDDETALHE>1</IDDETALHE>

              <CODIGODETALHEERP>4561</CODIGODETALHEERP>

              <NOMEDETALHEERP></NOMEDTALHEERP>

                  </DETALHERP>

         </DADOSDOERP>

      </XMLContext>

   </ReturnContext>

   </ReturnContext>

</ResponseMessage>

 

Detalhamento dos processos:

  • Origem da mensagem:
    • O segmento vertical chama o EAI(vertical) passando as seguintes informações:
      • Nome da mensagem (mensagem única ou mensagem nativa);
        • Deve ser adicionado no início do nome da mensagem o “nome do ERP” que receberá a mensagem separado por “/”.
          •  Ex: Protheus/SA1, sendo:
            • Protheus -> nome do ERP;
            • SA1 -> nome do objeto de negócio;
      • Versão da mensagem (somente em caso de mensagem única);
      • Versão da mensagem (em caso de mensagem única);
      • Xml dos dados do vertical (no exemplo em questão, trata-se do formato nativo do segmento vertical).
    • O EAI(vertical) inclui a mensagem na fila;
    • O EAI(vertical) recupera a mensagem da fila;
    • O EAI(vertical) solicita os seguintes serviços do seguimento vertical:
      • Serviço de transformação da mensagem (formato nativo do vertical) para o formato nativo do ERP;
    • O EAI(vertical) cria a mensagem TotvsMessage (incluindo na tag <BusinessContent> o xml recebido do segmento com os dados no formato ERP);
    • O EAI(vertical) envia para o WebServices EAI(ERP) a mensagem no formato <TotvsMessage>;
  • Destino da mensagem:
    • O EAI (ERP) inclui a mensagem na fila;
    • O EAI(ERP) recupera a mensagem da fila;
    • O EAI(ERP) recupera a primeira parte do nome da mensagem (até a posição da barra “/”) recuperando com isso o nome do ERP. Se o mesmo emparelhar com o nome do ERP em questão, trata-se de um receptor ERP. Caso contrário, trata-se de um vertical;
    • O EAI(ERP) solicita os seguintes serviços do seguimento vertical:
      • Execução do objeto de negócio para processamento da mensagem. As informações de leitura dos dados recém criados pelo objeto de negócio deverão ser retornadas.
    • O EAI(ERP) cria a mensagem de resposta “ResponseMessage” e retorna para a origem;

 

  • Origem da mensagem:
    • O EAI(vertical), no retorno da mensagem, solicita os seguintes serviços do seguimento vertical:
      • Atualização de De/para;

Nota: Os dados das chaves do ERP serão extraídos da tag <XMLContext> localizada no “ResponseMessage”;

 

 

 

Links dos principais conceitos e processos.

...