Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Card
defaulttrue
effectDuration0.5
idTestes de Integrações via XML
labelConceito Mensagem única

Conceito

Durante Com o processo de consolidação de marcas, iniciado pela TOTVS, várias empresas diferentes foram adquiridas e com elas vários produtos passaram a compor o portfólio de ofertas disponível aos clientes. Esta expansão de ofertas permitiu que clientes de uma marca, antes limitados pelas opções com aquela “etiqueta”, pudesse agora compor o seu ambiente de TI utilizando produtos de origens diferentes (Exemplos: BackOffice Protheus e TOTVS Obras e Projetos).

Com o objetivo de padronizar a integrações com os produtos TOTVS, foi definida uma nova diretriz para os projetos de integração: todos os produtos TOTVS devem se comunicar com uma mensagem XML única, evitando desta forma o processo de transformação de mensagens. Neste cenário, teríamos o seguinte quadro: 

objetivo de padronizar a integrações com outros produtos, foi definida uma nova diretriz para os projetos de integração: os produtos podem se comunicar com uma mensagem XML ou Json única, evitando desta forma o processo de transformação de mensagens.
Neste cenário, teríamos o seguinte quadro:

Image Added

Neste cenário, qualquer produto parceiro trabalhará com o mesmo XML, para uma mesma entidade, ou seja, supondo que tenhamos um Xml/Json correspondente à mensagem de Cadastro de Clientes, ela poderá Image Removed
Neste cenário, qualquer produto TOTVS trabalhará com o mesmo XML para uma mesma entidade, ou seja, supondo que tenhamos um XML correspondente à mensagem de CLIENTES, ela poderá ser enviada para qualquer um dos produtos que suporte o recebimento desta entidade.

Uma vez que os vários produtos TOTVS terão um “idioma” em comum (o XML Único), o Xml/Json único, as integrações entre estes produtos não exigirão mais que as mensagens sejam transformadas de um formato para outro. Com isto, será possível conectar diretamente dois produtos, sem a necessidade do TOTVS ESB, como no diagrama abaixo:

Image Removed



Realize as configurações básicas, campos importantes:
  • Módulo Web = WS - TOTVS Linha Protheus Web Services
  • Nome da Instância = ws
  • Diretório Raiz das Imagens (Web Path) = Diretório da Pasta Web onde o sistema irá criar a pasta "ws"
  • Selecione o Environment = Nome do Ambiente
  • Flag para habilitar processos na inicialização do Servidor
    Realize a Configuração de Host x Empresas/Filiais, campos importantes:
  • Host = Server e porta dos Web Services (Deve ser informada a porta informada na Configuração HTTP/FTP)
  • Selecione a Empresa/Filial = Empresa e Filial de acesso (Para configuração Multifilial, consulte a respectiva aba)
  • Clique em "Relacionar" e em "Avançar"
  •  Realize a Configuração de Usuários, onde irá definir o número mínimo e máximo de usuários para acesso
  • Finalizar e confirmar a configuração.

    Após as configurações acima, o sistema irá inserir as informações de acesso aos Web Services no arquivo AppServer.ini do Protheus, verifique se as informações estão de acordo com o exemplo abaixo, caso não estejam realize ajustes (Lembrando que a Porta e o Nome do Ambiente serão os que preencheu durante a configuração):

    [HTTP]

    ENABLE=1

    PORT=81

    [localhost:92/ws]

    ENABLE=1

    PATH=c:\seuambiente\Protheus_Data\web\ws

    ENVIRONMENT=12.1.025

    INSTANCENAME=ws

    RESPONSEJOB=JOB_WS_9901

    DEFAULTPAGE=wsindex.apw

    [JOB_WS_9901]

    TYPE=WEBEX

    ENVIRONMENT=12.1.025                                         

    INSTANCES=1,1

    SIGAWEB=WS

    INSTANCENAME=ws

    ONSTART=__WSSTART

    ONCONNECT=__WSCONNECT

    LOGPROFILE = 0

    PREPAREIN=99,01

    SECURITY=0

    Deck of Cards
    effectDuration0
    Deck of Cards
    effectDuration0.5
    idIntegração Mensagem única
    effectTypefade
    cardAdapters () Empresa/Filiallabel Conteúdo Única carddefaultConfigurando Web Services

    A configuração inicia-se habilitando o serviço HTTP e configurando a porta que todos os outros serviços dependentes deste irão utilizar para a publicação das informações:

  • Acesse o Wizard de configuração dos Serviços;
  • Em Servidor Internet (HTTP/FTP), verifique se o serviço de HTTP já existe, confirme se está habilitado e para qual porta está configurada. Pois estas são informações indispensáveis para o correto funcionamento dos WebServices e Portais.
  • Caso não tenha o Servidor Internet <HTTP> criado, é necessário seguir o procedimento abaixo:
  • Realize o Download dos Arquivos de Portais (web_files) do Portal do Cliente
  • Inclua uma pasta web dentro da Protheus Data do Sistema e insira os web_files
  • Selecionar a opção: <HTTP> e clicar na barra superior <Editar> conforme exemplo
  • O sistema apresentará a tela para Configuração da Seçãoonde os principais campos são:
  • Flag para Habilitar o Protocolo
  • Path de Arquivos = Caminho da Pasta Web
  • Ambiente = Nome do Ambiente
  • Porta de Conexão = Porta de configuração dos Serviços
    Card
    effectDuration0.5
    idIntegração via Mensagem única
    labelInformações Gerais
    Expandir
    titleTabelas

    Tabelas

    XXD

    utilizadas na Integração EAI:

    • De/Para de Empresas/Filiais Mensagem única
    XXF
    • (XXD)
    • De/Para de Conteúdos Mensagem
    Única XX3
    • Única (XXF)
    • Transações E.A.I.
    XX4
    • (XX3)
    • Adapters E.A.I. (XX4)
    Expandir
    defaulttrue
    idIntegração Via Mensagem única
    titleParâmetros

    Parâmetros utilizados na Integração EAI:

    • MV_EAIMETH: Não deve ser alterado
    • MV_EAIUSER
    • MV_EAIPASS
    • MV_EAIURL2: Endereço do WS para comunicação. Podemos informar a Rota da integração neste parâmetro ou através da rotina CFGA020.  Saiba mais: Roteamento
    label
    defaulttrue
    effectDuration0.5
    idIntegração Via Mensagem única
    label
    Dica
    titleIntegração RM TOP x Protheus

    A integração do Top RM com o Protheus envolve o módulo Gestão de Projetos (SIGAPMS), neste módulo não é necessário realizar alguns cadastros de De/Para na tabela XXF e sim configurar alguns parâmetros. 

    Lista dos parâmetros que envolve as integrações deste módulo: Parâmetros da Integração

    Expandir
    titleAdapters

    Os Adapters são responsáveis por realizar o processamento das mensagens enviadas e recebidas, possibilitando a inclusão, alteração e exclusão de dados.
    Veja a Lista Completa dos Adapters utilizados na integração E.A.I (Enterprise Application Integration).

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de cadastro do Adapter em: 01. Cadastro do Adapter

    As integrações via Mensagem Única propõem dois modelos de envio e recebimento de mensagens: 

    • Síncronas: A mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor;
    • Assíncronas: A mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.


    Adapters

    Os Adapters são responsáveis por realizar o processamento das mensagens enviadas e recebidas, possibilitando a inclusão, alteração e exclusão de dados.
    Veja a Lista Completa dos Adapters utilizados na integração E.A.I (Enterprise Application Integration).

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de cadastro do Adapter em: 01. Cadastro do Adapter

     As integrações via Mensagem Única propõem dois modelos de envio e recebimento de mensagens: 

    Síncronas: A mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor.
    Assíncronas: A mensagem é enviada e o sistema que a enviou não aguarda o seu processamento. Posteriormente a mensagem será processada no receptor.

    Aviso
    titleAtenção
    O modelo de mensagem que será utilizado na integração deve ser avaliado com muito cuidado. Apesar do modelo síncrono parecer o mais adequado para uma integração, isto não é de todo verdade. Em um modelo síncrono deve ser levado em consideração o tempo de processamento: O processamento do sistema que envia, a velocidade do trânsito de dados da rede e o tempo de processamento e resposta do receptor.
    Isto pode acarretar um tempo de resposta ao usuário muito maior do que o normal, o que pode transformar a integração de solução ao problema. Já o modelo
    assíncrono, 
    Aviso
    titleAtenção

    O modelo de mensagem que será utilizado na integração deve ser avaliado com muito cuidado. Apesar do modelo síncrono parecer o mais adequado para uma integração, isto não é de todo verdade. Em um modelo síncrono deve ser levado em consideração o tempo de processamento: O processamento do sistema que envia, a velocidade do trânsito de dados da rede e o tempo de processamento e resposta do receptor.
    Isto pode acarretar um tempo de resposta ao usuário muito maior do que o normal, o que pode transformar a integração de solução ao problema. Já o modelo
    assíncrono, 

    por não aguardar o retorno do processamento do receptor torna o processo mais rápido, porém, neste modelo de mensagem deve-se levar em consideração que o dado será gravado no sistema que envia a mensagem e que o processamento no receptor ocorrerá posteriormente.

    Desta maneira, em algumas situações os dados irão existir no sistema de envio, mas enquanto não forem processados no receptor eles não existirão lá.

    Card
    Expandir
    title
    De/Para de
    De/Para de
    Empresas/Filiais

    O Cadastro de De/Para de empresas/filiais irá definir quais empresas e filiais serão integradas entre os dois sistemas.

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de cadastro do De/Para de Empresas/Filiais: 02. De Para de Empresas Filiais

    No XML é necessário identificar a Aplicação de Origem, a Empresa e a Filial para cadastrar o De/Para. As tags a serem verificadas são:

    • SourceApplication = Aplicação de Origem (XXD_REFER)
    • CompanyId = Empresa (XXD_COMPA)
    • BranchId = Filial (XXD_BRANCH)
    Card
    Expandir
    title
    defaulttrue
    effectDuration0.5
    idIntegração Mensagem única
    De/Para de

    De/Para de Mensagem Única 

    Mensagem
    Única

    Na maioria das vezes, os códigos dos registros utilizados nos sistemas que se comunicam via Mensagem Única não são os mesmos, a XXF é a tabela que ira guardar os códigos para relacionar os registros, por exemplo um cliente pode possuir o código no Protheus, e no RM esse mesmo cliente possui o código C0100001. Por isso o sistema realiza o cadastro de um "De/Para de Mensagem Única"

    Ao realizar a inclusão de um cadastro, o sistema verifica se já existe um "De/Para de Mensagem Única", caso já exista, o sistema entende que trata-se de uma alteração, caso não exista, trata-se de uma inclusão, então ele cria automaticamente o "De/Para de Mensagem Única" (XXF).

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de cadastro do De/Para de Mensagem Única (XXF): De Para de Mensagem Única

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

    Caso trate-se de uma inclusão que referencia códigos de outros cadastros, esses códigos necessitam de um "De/Para de Mensagem Única", por exemplo, ao incluir um Pedido de Vendas você precisa referenciar um código de Produto e um código de cliente, mas, nesse momento, você não está incluindo o cliente ou o produto, você está incluindo o Pedido, portanto o cliente e o produto precisam ter um "De/Para de Mensagem Única" (XXF) cadastrado. 

    Expandir
    title
    true
    effectDuration0.5
    idTestes de Integrações via XML
    labelWS - WebServices
    Expandir
    titleConfigurando HTTP/FTP
    Dica
    titleImportante

    Na configuração da Seção, inserimos como exemplo a porta 92, porém ela pode ser alterada caso prefira.

    Caso definida a porta padrão do serviço HTTP que é a 80, não é necessário especificá-la na configuração do WS e Portais.

    Basta confirmar e gravar as configuraçõesConfigure o módulo WS em Módulos da Web:
    Expandir
    titleWS TOTVS Linha Protheus Web Services
    Expandir
    titleAppServer.ini
    Dica
    titleEXEMPLO

    Veja o vídeo do processo de configuração dos Web Services: Configurando os Web Services

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no Navegador do Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo e a qualidade será bem melhor.

    A partir da release 12.1.33, torna-se obrigatório o uso da chave SECURITY = 0 na configuração dos WebServices no appserver.ini do AppServer: https://tdn.totvs.com/x/aiErI

    Card
    defaulttrue
    idIntegração Mensagem única
    labelSoapUI

    SoapUI

    É uma ferramenta de mercado onde conseguimos simular o envio do XML na integração via Mensagem Única.

    Utilizamos o SoapUI para enviar o arquivo XML, simulando o envio de outros sistemas (RM ou LOGIX, por exemplo) para o Protheus.

    Link para baixar o Soap: https://www.soapui.org/downloads/latest-release/
    Dica
    titleEXEMPLO

    Veja o vídeo do processo de configuração do SOAPUI: Configurando a ferramenta SoapUI

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

    Nota
    titleImportante:
    • A seguinte Tag tem que ser acrescentada:

    <![CDATA[

    (XML Conteúdo que irá dentro da TAG)

    ]]>

    • Não esqueça de salvar o Novo Projeto, caso feche o sistema perde inclusive a integração.
    Card
    idIntegração Mensagem única
    labelParâmetros
    Parâmetros
    • MV_EAIMETH (Não deve ser alterado).
    • MV_EAIUSER
    • MV_EAIPASS
    • MV_EAIURL2 (Endereço do WS para comunicação) - Podemos informar a Rota da integração neste parâmetro ou através da rotina CFGA020.  Saiba mais: Roteamento E.A.I. Protheus (CFGA020 - SIGACFG)
    • MV_EAIWS (Não precisa ser alterado). 

    Parâmetros da Integração RM TOP x Protheus:

    A integração do Top RM com o Protheus envolve o módulo Gestão de Projetos (SIGAPMS), neste módulo não é necessário realizar alguns cadastros de De/Para na tabela XXF e sim configurar alguns parâmetros. 

    Lista dos parâmetros que envolve as integrações deste módulo: Parâmetros da Integração

    Card
    idIntegração Mensagem única
    labelFontes

    Fontes de Integração:

    Todos os fontes de integração contém a letra "I" no final do nome da rotina, fontes com processamento a parte em JSON possuem a letra "O" sem seguida da letra "I" de integração, exemplos:

    Caminho no TFS: Master → Fontes → Materiais → Mensagem Unica:

    Faturamento:

    FATI140 (Faturamento)
    Categoria de Produtos
    FISI010 (Módulo)
    Municípios
    MATI030 (Faturamento)
    Clientes
    MATI030B (Faturamento)
    Clientes - Função de integração para tratar a mensagem CUSTOMERVENDOR onde recebe-se o CPF/CPNJ e é retornado o CPF/CPNJ com Código/Loja/Nome Fantasia/Nome
    MATI030O (Faturamento)
    Clientes - Função de integração E.A.I. para receber JSON
    MATI040 (Faturamento)
    Vendedores
    MATI040O (Faturamento)
    Vendedores - Função de integração E.A.I. para receber JSON
    MATI050 (Faturamento)
    Transportadoras
    MATI070 (Financeiro)
    Bancos
    MATI090 (Financeiro)
    Moedas
    MATI360 (Faturamento)
    Condição de Pagamento
    MATI360O (Faturamento)
    Condição de Pagamento - Função de integração E.A.I. para receber JSON
    MATI410 (Faturamento)
    Pedidos de Venda
    MATI410B (Faturamento)
    Rastreabilidade de Pedidos de Venda\de Compra com o Objeto Eai(FwObjEai)
    MATI410BO (Faturamento)
    Rastreabilidade de Pedidos de Venda\de Compra com o Objeto Eai(FwObjEai) para receber em JSON
    MATI410EC1 (Faturamento)
    Pedidos de Venda - Função de integração para tratar informações de Vendas/Pedido Varejo
    MATI410EC2 (Faturamento)
    Pedidos de Venda - Função de integração para tratar informações de Vendas/Pedido Varejo para receber em JSON
    MATI410O (Faturamento)
    (Pedidos de Venda para receber em JSON
    MATI411 (Faturamento)
    Faz o relacionamento das tabelas "SC5 - Cabeçalho dos Pedidos de Venda" e "SC6 - Itens dos Pedidos de Venda"
    MATI461 (Faturamento)
    Geração do documento de saída
    MATI461O (Faturamento)
    Geração do documento de saída para receber em JSON
    MATI490O (Faturamento)
    Comissão de Vendas
    OMSI010 (Faturamento)
    Tabela de Preços
    OMSI010O (Faturamento)
    Para receber tabela de preços para receber em JSON

    Gestão de Serviços (SIGAPMS) (Serviços):

    PMSI200
    PMSI200A
    PMSI200B
    PMSI201
    PMSI201A
  • PMSI203
  • Card
    idIntegração Mensagem única
    labelComo extrair XML de Envio/Reposta

    Extraindo o XML do Protheus:

    1 - Acesse o ambiente SIGACFG: Ambiente - Schedule - Adapter E.a.i.

    Image Removed

    Na integração do Software com o Protheus, são criados os arquivos de transações.

    2 - Selecione o arquivo que integrou e para extrair clique na lupa Image Removed . Será exibido as opções para extrair:

    • ENVIO: Visualizar mensagem original: XML que a aplicação de integração envia ao Protheus.
    • RESPOSTA: Visualizar mensagem de resposta: XML que o Protheus envia ao aplicativo de integração.
    Nota
    titleIdentificando o XML:

    Através da Tag <Product> consegue visualizar o Software que esta recebendo ou enviando. Exemplo:

    XML de envio (original): <Product version="12.1.18.0" name="RM"/>

    XML de recebimento (resposta): <Product version="12" name="PROTHEUS"/>

    Card
    idIntegração Mensagem única
    labelArquivos (.XML)

    Exemplo de XML para testes:

    Adapter E.A.I. - (XX4_MODEL)Rotina normal  |  Rotina de integração correspondente - (XX4_ROTINA)Arquivo .xml para testes - DownloadCUSTOMERVENDOR MATA030  |  MATI030 XML_CLIENTE                SALESORDER/ORDER     MATA410  |  MATI410PROJECTPMSA200  |  PMSI200XML_PROJECTSUBPROJECTPMSA201  |  PMSI201XML_SUBPROJECTSTEPPROJECTPMSA201A  |  PMSI201A XML_STEPPROJECTTASKPROJECTPMSA203  |  PMSI203XML_TASKPROJECT Card
    idIntegração Mensagem única
    labelTestando (.XML)

    Exemplos de Testes (XML):

    Para iniciar os testes é necessário que tenha realizado as etapas:

  • Cadastro do Adapter
  • De/Para de Empresas e Filiais
  • De/Para de Mensagem Única (Se for o teste da rotina MATA410)
  • Configurando os Web Services
  • Configurando o SOAPUI
    Dica
    titleObservação

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

    Simulação da integração:

  • Integrando o XML MATA030 via SOAPUI
  • Integrando o XML MATA410 via SOAPUI
    Aviso
    titleImportante

    Os arquivos .XML utilizados nos testes estão na aba "Exemplos de XML" e o Link para Download do SOAPUI está na aba "Soap UI"

    Card
    idIntegração Mensagem única
    labelTestando (.JSON)

    Exemplos de Testes (Json):

    Para iniciar os testes é necessário que tenha realizado as etapas:

  • Cadastro do Adapter
  • De/Para de Empresas e Filiais
  • Exemplo de REST
  • Configuração do REST
  • Configurando o SOAPUI
    Dica
    titleObservação

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

    Aviso
    titleImportante

    Caso seja necessário a utilização de um Json enviado pelo cliente no teste, é necessário criar um De/Para de Mensagem única para os códigos referenciados no cadastro.

    Exemplo: Código de Vendedor no campo A1_VEND, é necessário criar um de/para de mensagem única usando o " VendorInformationInternalID" como "Valor Externo" e no "Valor interno" é preciso informar a empresa, a filial e o código do vendedor como neste exemplo.

    Exemplos de Arquivos Json para teste:

    Card
    defaulttrue
    effectDuration0.5
    idLogID
    labelLog de integração

    Como gerar log registro de integração

    1 - Vá em seu appserver.ini na chave/bloco que carrega o nome do JOB do WebServices [JOB_WS_XXXX]

    2 - Inclua uma linha: "PROFILE=1" e depois salve o arquivo (Atalho: CTRL + S).

    Image Removed
    3 - Ao integrar/tentar integrar, será gerado um arquivo .txt de log na pasta protheus > protheus_data > wsprofiler:

    Image Removed

    OBS: Para não gerar um log a cada interação, basta deixar: "PROFILE=0"

    Card
    defaulttrue
    effectDuration0.5
    idDifficultiesID
    labelPossíveis cenários
    Expandir
    titleA Entidade 'CUSTOMERVENDOR' não está mapeada para esta Integração.
    Mensagem exibida quando integrações não conseguem visualizar o Adapter "CUSTOMERVENDOR" no Protheus.
    "A Entidade 'CUSTOMERVENDOR' não está mapeada para esta Integração."

    Possíveis soluções:

    1 - Atualizar os fontes de integração

    2 - Revisar as configurações do adapter:

  • XX4_UNMESS = "1 - Sim" (Mensagem Unica)
  • XX4_ROTINA = "MATA030" ou "CRMA980" (Rotina)  |  Funciona ambas independente do valor do parâmetro MV_MVCSA1
  • XX4_MODEL = "CUSTOMERVENDOR" (Mensagem*)
  • XX4_SENDER = "1 - Sim" (Envia)
  • XX4_RECEIV = "1 - Sim" (Recebe)
  • XX4_TPOPER = "1 - Todas" (Operação)
  • XX4_CHANEL = "3 - EAI - PAD. APP." (Canal Envio)
  • XX4_SENDER = "2.005+"  |  Dessa versão específicada ou superior
  • XX4_FORMAT = "XML" (Formato)
  • XX4_SAVLOG = "1 - Sim" (Salva log)
    OBS: A versão de Envio deve coincidir entre Protheus e RM. Se necessário atualize o adapter do RM/Ambiente que recebe a integração no RM. É necessário que o adapter do lado da aplicação da integração esteja atualizado também.
    Expandir
    titleHelp: ATENÇÃO! - Problema: Verificar problema no Monitor EAI

    Mensagem exibida ao tentar manipular um registro no cadastro de clientes

    Image Removed

    Possíveis soluções:

    1 - Deixar o campo "Salva log (XX4_SAVLOG)" como "1 - Sim".
    Fontes de Integração

    Todos os fontes de integração contém a letra "I" no final do nome da rotina, fontes com processamento a parte em JSON possuem a letra "O" ou "Json" no final.

    Exemplos:

    • A rotina de Pedidos de Venda tem seu fonte com nome "MATA410";
    • Na integração de Pedido de Venda via XML, o fonte que trata a integração chama-se "MATI410";
    • Na integração de Pedido de venda via JSON o fonte que trata a integração chama-se  "MATI410O"

    • A movimentação do Estoque tem seu fonte com nome "MATA240";
    • Na integração da Movimentação via XML, o fonte que trata a integração chama-se "MATI241"
    • Na integração da Movimentação via JSON o fonte que trata a integração chama-se "MATI241JSON"
    Expandir
    titleExtrair Xml-Json Envio e Resposta

    Para realizar os testes e analises de ocorrências envolvendo integração EAI, é necessário validar o Xml/Json de envio e de resposta, para extrair os arquivos para análise, realise os passos abaixo:

    • Acesse o ambiente SIGACFG: Ambiente > Schedule > Adapter EAI

    Na integração do Software com o Protheus, são criados os arquivos de transações.

    • Selecione o arquivo que integrou e para extrair clique na lupa Image Added . Será exibido as opções para extrair
      • ENVIO: Visualizar mensagem original: Xml/Json com os dados que o sistema tentou integrar;
      • RESPOSTA: Visualizar mensagem de resposta: Xml/Json com a resposta da tentativa de integração.

    Nota
    titleIdentificando o XML:

    Através da Tag <Product> consegue visualizar o Software que esta recebendo ou enviando. Exemplo:

    XML de envio (original): <Product version="12.1.18.0" name="RM"/>

    XML de recebimento (resposta): <Product version="12" name="PROTHEUS"/>

    Expandir
    titleLog de Integração

    Durante a análise de ocorrências no processo de integração, pode ser necessário gerar o Profile para analise das funções executadas ou do tempo de processamento.

    Para gerar o Profiler no processo de integração é necessário:

    • Em seu appserver.ini na chave/bloco que carrega o nome do JOB do WebServices [JOB_WS_XXXX]
    • Inclua uma linha: "PROFILE=1" e depois salve o arquivo (Atalho: CTRL + S)

    Bloco de código
    titleProfile
    [JOB_WS_9901]
    TYPE=WEBEX
    ENVIRONMENT=12.1.2310
    INSTANCES=1,1
    SIGAWEB=WS
    INSTANCENAME=ws
    ONSTART=__WSSTART
    ONCONNECT=__WSCONNECT
    PREPAREIN=99,01
    PROFILE=1            <-------- Insira essa chave
    SECURITY=0
    Aviso
    titleImportante
    • Para desabilitar a geração do log, basta alterar para "PROFILE=0"


    Ao integrar/tentar integrar, será gerado um arquivo .txt de log na pasta protheus > protheus_data > wsprofiler:

    Image Added

    Card
    defaulttrue
    effectDuration0.5
    idTestes de Integrações via XML
    labelConfiguração Web Services

    Configurando Web Services

    A configuração inicia-se habilitando o serviço HTTP e configurando a porta que todos os outros serviços dependentes deste irão utilizar para a publicação das informações:

    • Acesse o Wizard de configuração dos Serviços;
    • Em Servidor Internet (HTTP/FTP), verifique se o serviço de HTTP já existe, confirme se está habilitado e para qual porta está configurada. Pois estas são informações indispensáveis para o correto funcionamento dos WebServices e Portais.
    • Caso não tenha o Servidor Internet <HTTP> criado, é necessário seguir o procedimento abaixo:

    Expandir
    titleConfigurando HTTP/FTP
    • Realize o Download dos Arquivos de Portais (web_files) do Portal do Cliente
    • Inclua uma pasta web dentro da Protheus Data do Sistema e insira os web_files
    • Selecionar a opção: <HTTP> e clicar na barra superior <Editar> conforme exemplo
    • O sistema apresentará a tela para Configuração da Seçãoonde os principais campos são:
      1. Flag para Habilitar o Protocolo
      2. Path de Arquivos = Caminho da Pasta Web
      3. Ambiente = Nome do Ambiente
      4. Porta de Conexão = Porta de configuração dos Serviços

    Dica
    titleImportante

    Na configuração da Seção, inserimos como exemplo a porta 92, porém ela pode ser alterada caso prefira.

    Caso definida a porta padrão do serviço HTTP que é a 80, não é necessário especificá-la na configuração do WS e Portais.


    Basta confirmar e gravar as configurações


    Expandir
    titleWS TOTVS Linha Protheus Web Services
    • Realize as configurações básicas, campos importantes:
      1. Módulo Web = WS - TOTVS Linha Protheus Web Services
      2. Nome da Instância = ws
      3. Diretório Raiz das Imagens (Web Path) = Diretório da Pasta Web onde o sistema irá criar a pasta "ws"
      4. Selecione o Environment = Nome do Ambiente
      5. Flag para habilitar processos na inicialização do Servidor

    • Realize a Configuração de Host x Empresas/Filiais, campos importantes:
      1. Host = Server e porta dos Web Services (Deve ser informada a porta informada na Configuração HTTP/FTP)
      2. Selecione a Empresa/Filial = Empresa e Filial de acesso (Para configuração Multifilial, consulte a respectiva aba)
      3. Clique em "Relacionar" e em "Avançar"

    •  Realize a Configuração de Usuários, onde irá definir o número mínimo e máximo de usuários para acesso

    Finalizar e confirmar a configuração.


    Após as configurações acima, o sistema irá inserir as informações de acesso aos Web Services no arquivo AppServer.ini do Protheus, verifique se as informações estão de acordo com o exemplo abaixo, caso não estejam realize ajustes (Lembrando que a Porta e o Nome do Ambiente serão os que preencheu durante a configuração):

    Expandir
    titleAppServer.ini

    [HTTP]

    ENABLE=1

    PORT=81


    [localhost:92/ws]

    ENABLE=1

    PATH=c:\seuambiente\Protheus_Data\web\ws

    ENVIRONMENT=12.1.025

    INSTANCENAME=ws

    RESPONSEJOB=JOB_WS_9901

    DEFAULTPAGE=wsindex.apw


    [JOB_WS_9901]

    TYPE=WEBEX

    ENVIRONMENT=12.1.025                                         

    INSTANCES=1,1

    SIGAWEB=WS

    INSTANCENAME=ws

    ONSTART=__WSSTART

    ONCONNECT=__WSCONNECT

    LOGPROFILE = 0

    PREPAREIN=99,01

    SECURITY=0

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de configuração dos Web Services: Configurando os Web Services

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no Navegador do Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo e a qualidade será bem melhor.

    A partir da release 12.1.33, torna-se obrigatório o uso da chave SECURITY = 0 na configuração dos WebServices no appserver.ini do AppServer: https://tdn.totvs.com/x/aiErI

    Aviso
    titleAlerta de risco

    Fique atento ao utilizar o parâmetro de configuração com a chave Security=0, pois isso fará com que as integrações (APIs) não exijam autenticação, consequentemente dados do seu ambiente poderão ser consultados sem qualquer controle de autorização.

    Card
    labelConfiguração do REST

    Para realizar a integração EAI utilizando arquivos Json, é necessário ter um REST funcionando no ambiente.

    Para configurar o REST siga as orientações do vídeo: Configuração do REST

    Exemplo de configuração do REST: Exemplo de REST

    Card
    defaulttrue
    idIntegração Mensagem única
    labelConfiguração do SoapUI

    SoapUI

    O SOAPUI é uma ferramenta de mercado onde conseguimos simular o envio do Xml/Json na integração via Mensagem Única, simulando o envio de outros sistemas para o Protheus.
    Ou seja, ao invés de termos que instalar o outro sistema e aprender como fazer o processo neles, nós pegamos um Xml/Json de modelo enviamos para o Protheus usando esta ferramenta.

    Link para baixar o Soaphttps://www.soapui.org/downloads/latest-release/

    Dica
    titleEXEMPLO

    Veja o vídeo do processo de configuração do SOAPUI: Configurando a ferramenta SoapUI

    O vídeo está no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador Google Chrome, a qualidade do vídeo pode ficar mais baixa, sendo esse o caso, é possível fazer o Download do arquivo para superior qualidade.

    Nota
    titleImportante:

    Caso a integração seja via arquivo Xml, a seguinte Tag deve ser acrescentada:

    Bloco de código
    titleTags SOAPUI
    <![CDATA[
    
    (XML Conteúdo que irá dentro da TAG)
    
    ]]>
    Card
    labelComo realizar testes?
    Deck of Cards
    idTestes
    Card
    labelTestes EAI (Xml)


    Image Added

    Deck of Cards
    idTestes 2
    Card
    labelTeste de Recebimento (Xml)

    Este teste permite testar o recebimento da Mensagem Única de outro sistema para o Protheus.

    Para iniciar os testes é necessário que tenha realizado as etapas:

    1. Cadastro do Adapter
    2. De/Para de Empresas e Filiais
    3. De/Para de Mensagem Única (Se for o teste da rotina MATA410)
    4. Configurando os Web Services
    5. Configurando o SOAPUI


    Simulação da integração:


    Aviso
    titleExemplos de XML

    Exemplos de XML para testes de integração EAI:

    Card
    labelTeste de Envio (Xml)

    Integração EAI Protheus (SIGAFAT) com destino à outros sistemas




    Card
    idIntegração Mensagem única
    labelTestes EAI (JSON)

    Image Added

    Deck of Cards
    idEAI Json
    Card
    labelTeste de Recebimento (Json)

    Este teste permite testar o recebimento da Mensagem Única de outro sistema para o Protheus.

    Para iniciar os testes é necessário que tenha realizado as etapas:

    1. Cadastro do Adapter
    2. De/Para de Empresas e Filiais
    3. Exemplo de REST
    4. Configuração do REST
    5. Configurando o SOAPUI


    Dica
    titleObservação
    • Caso seja necessário a utilização de um Json enviado pelo cliente no teste, é necessário criar um De/Para de Mensagem única para os códigos referenciados no cadastro
      Exemplo: Código de Vendedor no campo A1_VEND, é necessário criar um de/para de mensagem única usando o " VendorInformationInternalID" como "Valor Externo" e no "Valor interno" é preciso informar a empresa, a filial e o código do vendedor como neste exemplo.
    Aviso
    titleImportante
    Card
    idIntegração Mensagem única
    labelTeste de Envio (Json)

    Este teste permite testar o envio da Mensagem única do Protheus para outro sistema.

    Para iniciar os testes é necessário que tenha realizado as etapas:

    1. Cadastro de Rotas EAI
    2. Cadastro do Adapter
    3. Cadastro do Schedule
    4. Cadastro do Agent
    5. Teste de Envio
    Outras documentações para apoio:Integrações Configuração do WebServices
    https://tdn.totvs.com/display/public/PROT/+++Framework - Configuração do WebServices (Framework - FRAME)
    Dica
    titleSaiba mais
    Card
    idIntegração Mensagem única
    labelOutras Documentações
    E.A.I. ProtheusTreinamento Mensagem única