Árvore de páginas

Versões comparadas

Chave

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

Com o 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

Conceito:

Durante 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 (Ex.: BackOffice Protheus + 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: 

  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



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  EAI  (Enterprise Application Integration).

Deck of Cards
effectDuration0.5
idIntegração Mensagem única
effectTypefade
Card
effectDuration0.5
idIntegração via Mensagem única
labelPrincipais tabelasInformações Gerais

Tabelas:

XXF
Expandir
titleTabelas

Tabelas utilizadas na Integração EAI:

  • De/Para
no banco de dados 
XX3Transações EAI
XX4Adapters EAI
Card
defaulttrue
idIntegração Via Mensagem única
labelAdapters
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:  No modelo de mensagens Síncronas a mensagem é enviada e o sistema que enviou aguarda o processamento da mensagem pelo receptor.
Assíncronas:   Já no modelo Assíncrono 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, 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
defaulttrue
effectDuration0.5
idIntegração Via Mensagem única
labelDe / Para de empresas

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
defaulttrue
effectDuration0.5
idIntegração Mensagem única
labelDe/Para de Mensagem Única (XXF)

De/Para de Mensagem Única (XXF): 

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 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.

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. 

Card
defaulttrue
effectDuration0.5
idTestes de Integrações via XML
labelConfigurando os WebServices

Configurando os 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:
      • 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;
    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:
      • 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):
    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

    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 .ini do AppServer: https://tdn.totvs.com/x/aiErI

    Card
    defaulttrue
    idIntegração Mensagem única
    labelSoap UI

    Ferramenta 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 o SoapUI

    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.

    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 EAI Protheus (CFGA020 - SIGACFG)
    • MV_EAIWS(Não Precisa ser alterado). 

    Principais 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 XXF e sim configurar alguns parâmetros. 

    Segue a baixo a lista dos parâmetros que envolve as integrações deste módulo:

    Link: Parâmetros da Integração

    Card
    idIntegração Mensagem única
    labelFontes de Integração

    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 (SIGAFAT):

    FATI140
    Categoria de Produtos
    FISI010
    Muncípios
    MATI030
    Clientes
    MATI030B
    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
    Clientes - Função de integração EAI para receber JSON
    MATI040
    Vendedores
    MATI040O
    Vendedores - Função de integração EAI para receber JSON
    MATI050
    Transportadoras
    MATI070
    Bancos
    MATI090
    Moedas
    MATI360
    Condição de Pagamento
    MATI360O
    Condição de Pagamento - Função de integração EAI para receber JSON
    MATI410
    Pedidos de Venda
    MATI410B
    Rastreabilidade de Pedidos Venda\Compra com o Objeto Eai(FwObjEai)
    MATI410BO
    Rastreabilidade de Pedidos Venda\Compra com o Objeto Eai(FwObjEai) em JSON
    MATI410EC1
    Pedidos de Venda - Função de integração para tratar informações de Vendas/Pedido Varejo
    MATI410EC2
    Pedidos de Venda - Função de integração para tratar informações de Vendas/Pedido Varejo em JSON
    MATI410O
    (Pedidos de Venda em para receber JSON
    MATI411
    Faz o relacionamento da SC5 e SC6
    MATI461
    Geração do documento de saída
    MATI461O
    Geração do documento de saída para receber em JSON
    MATI490O
    Comissão de Vendas
    OMSI010
    Tabela de Preços
    OMSI010O
    Para receber tabela de preços em JSON

    Gestão de Serviços (SIGAPMS):

    PMSI200
    PMSI200A
    PMSI200B
    PMSI201
    PMSI201A
  • PMSI203
  • Card
    idIntegração Mensagem única
    labelComo extrair XML do Protheus

    Extraindo o XML do Protheus:

    Acesse o ambiente SIGACFG, Menu: Ambiente - Schedule - opção EAI

    Image Removed

    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 Removed , ira apresentar as opções Image Removed escolha qual XML deseja extrair.

    Visualizar mensagem Origem: XML que o Software envia para o Protheus.

    Visualizar mensagem de Resposta: XML que o Protheus envia para o Software.

    Nota
    titleImportante:

    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 resposta:<Product version="12" name="PROTHEUS"/>

    • de Empresas/Filiais Mensagem única (XXD)
    • De/Para de Conteúdos Mensagem Única (XXF)
    • Transações E.A.I. (XX3)
    • Adapters E.A.I. (XX4)
    Expandir
    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 E.A.I. Protheus (CFGA020 - SIGACFG)
    • MV_EAIWS: Não precisa ser alterado 

    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.


    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á.

    Expandir
    titleDe/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)
    Expandir
    titleDe/Para de 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
    titleFontes 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

    Documentações para apoio:

    Exemplo de XML para testes:

    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
    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á

    Card
    idIntegração Mensagem única
    labelOutras Documentações
    EAI Protheus (framework)EAI Protheus
    Treinamento Mensagem únicaTST0005 - Treinamento de Mensagem Única
    Integrações Como realizar testes de Integrações (Mensagem Única)
    Configuração WShttps://tdn.totvs.com/display/public/PROT/Configurar+Portais+e+Webservices
    Framework - Configuração WSComo iniciar um servidor de Webservices no Protheus
    Card
    idIntegração Mensagem única
    labelExemplos de XML
    AdapterRotina Protheus/ IntegraçãoArquivo
    CUSTOMERVENDOR MATA030  |  MATI030 XML_CLIENTE                
    SALESORDER/ORDER     MATA410  |  MATI410
    PROJECPMSA200  |  PMSI200XML_PROJECT
    SUBPROJECTPMSA201  |  PMSI201XML_SUBPROJECT
    STEPPROJECTPMSA201A  |  PMSI201A XML_STEPPROJECT
    TASKPROJECTPMSA203  |  PMSI203XML_TASKPROJECT
    Card
    idIntegração Mensagem única
    labelExemplos de Testes (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 do MATA410)
  • Configurando os Web Services
  • Configurando o SOAPUI
    Dica
    titleObservação

    Os vídeos estão no Google Drive do Suporte FAT / SERV / JUR, caso execute no navegador do Google 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.

    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
    labelExemplos de Testes (Json)
    Dica
    titleObservação

    Os vídeos estão 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.

    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 gerrar log registro de integração:

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

    Inclua uma linha: "PROFILE=1" e depois salve o arquivo:

    Image Removed

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

    Image Removed

    Card
    defaulttrue
    effectDuration0.5
    idDifficultiesID
    labelMensagem exibida quando integrações não conseguem visualizar o Adapter "CUSTOMERVENDOR" no Protheus.
    Expandir
    titleConfigurando HTTP/FTP
    Card
    defaulttrue
    effectDuration0.5
    idDifficultiesID
    labelMensagem exibida quando integrações não conseguem visualizar o Adapter "CUSTOMERVENDOR" no Protheus.

    Mensagem exibida quando integrações não conseguem visualizar o Adapter "CUSTOMERVENDOR" no Protheus.

    Possíveis causas:

    1 - Atualizar 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
    titleMensagem exibida ao tentar manipular um registro no cadastro de clientes
    Card
    defaulttrue
    effectDuration0.5
    idDifficultiesID
    labelHelp: 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:

    Deixar o campo "Salva log (XX4_SAVLOG)" como "1 - Sim".

    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
    Dica
    titleSaiba mais