Passo a passo: | Card |
---|
default | true |
---|
id | Custo Médio |
---|
label | 1. LIMITE DE CRÉDITO |
---|
| Deck of Cards |
---|
startHidden | false |
---|
effectDuration | 0.5 |
---|
id | Cards |
---|
effectType | horizontal |
---|
loopCards | true |
---|
| Card |
---|
default | true |
---|
id | Custo Médio |
---|
label | Pontos de Entrada |
---|
|
|
Card |
---|
default | true |
---|
id | 0607202023 |
---|
label | ExecAuto |
---|
| Conceito (O que é um ExecAuto?)
Expandir |
---|
title | Como saber se um fonte possui ExecAuto? |
---|
| Basicamente, as funções que recebem parâmetros podem ser chamadas via ExecAuto, parâmetros são passados entre parênteses após o nome da função.
Exemplo de Função que possui parâmetros:
Exemplo de função que não possui parâmetros:
Após verificar se a função tem parâmetros, deve-se verificar se existe um Modelo de ExecAuto para esta função publicado no TDN. Páginas de Rotinas Automáticas (ExecAuto):
Aviso |
---|
| Caso a rotina possua parâmetros e não possua um exemplo publicado no TDN, é necessário solicitar a documentação do ExecAuto ao time de desenvolvimento através de uma Issue de Documentação. |
|
|
Card |
---|
default | true |
---|
id | 0607202023 |
---|
label | Execauto Via API REST |
---|
| Para testes de chamada de execauto via API REST, siga os passos abaixo: Deck of Cards |
---|
| Card |
---|
label | 1 - Fonte de exemplo |
---|
| Fonte de exemplo de API REST para chamada de execauto: #INCLUDE'PROTHEUS.CH' #INCLUDE 'TOTVS.CH' #INCLUDE 'RESTFUL.CH' #INCLUDE 'RWMAKE.CH' #INCLUDE 'TOPCONN.CH' #INCLUDE "FWMVCDEF.CH"
// API para chamar execauto via REST
WSRESTFULEXECTST2DESCRIPTION"TESTE" WSMETHODGETDESCRIPTION"TESTE"WSSYNTAX"/EXECTST" ENDWSRESTFUL
WSMETHODGETWSSERVICEEXECTST2 U_MyMata410() //Função a ser chamada Return |
---|
1 - Salvar o fonte com o nome "execviarest.prw". 2 - Na "Função a ser chamada" colocar o nome da função do execauto que irá utilizar: Exemplo: U_MyMata410() |
Card |
---|
label | 3 - Compilação dos fontes |
---|
| Compilar os fontes: 1 - Fonte da API: execviarest.prw 2 - Fonte do execauto "ajustado" |
Card |
---|
| Subir um serviço de REST, para isso utilize o exemplo abaixo: ;===================================== ;============== WEB REST =============== ;===================================== [HTTPV11] Enable=1 AddressFamily=1 Sockets=HTTPREST [HTTPREST] Port=8086 <<-- Porta do REST IPsBind= MaxQueue=10 URIs=HTTPURI SECURITY=0 [HTTPURI] URL=/rest PrepareIn=ALL Instances=1,10 OnStart=REST_START OnConnect=REST_CONNECT OnExit=REST_EXIT [HTTPJOB] MAIN=HTTP_START ENVIRONMENT=12.1.2310 <<-- Nome do seu ambiente [ONSTART] jobs=HTTPJOB RefreshRate=120 ;===================================== |
---|
Não se esqueça de validar se o REST está no ar, feche o console do App Server e abra novamente verificando se exibe a mensagem de REST, validando também se o REST está no ar através do navegador da internet. Dica |
---|
| "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." |
Dica |
---|
| - Temos também uma documentação complementar sobre a configuração através do APWebWizard: Configurando REST
|
|
Card |
---|
| Para fazer a chamada da API iremos utilizar o Postman.
1 - Baixar e instalar o Postman: https://www.postman.com/downloads/ 2 - Informar os dados de acesso ao Postman, campos a preencher na aba "Headers": - GET: Coloque o endereço de seu REST + o texto: /EXECTST2
- Key: tenantid
- Value: 99,01 <empresa,filial>
|
Card |
---|
| No Postman clique no botão "Send" para executar a API: |
|
|
Card |
---|
default | true |
---|
id | 0607202023 |
---|
label | Execauto Via API WebService |
---|
| Para testes de chamada de execauto via API WebService, siga os passos abaixo: Deck of Cards |
---|
| Card |
---|
label | 1 - Fonte de exemplo |
---|
| Fonte de exemplo de API WS para chamada de execauto: #include"protheus.ch" #include"totvs.ch" #include"apwebsrv.ch" // API para chamar execauto via WS
WSSERVICEwsteste01 WSDATAcumped ASstring WSDATAcRet ASstring WSDATAUserCodeASString
WSMETHODwsteste ENDWSSERVICE
WSMETHODwstesteWSRECEIVEUserCode,cumpedWSSENDcRetWSSERVICEwsteste01 U_MyMata410() //função a ser chamada
RetURN.T. |
---|
1 - Salvar o fonte com o nome "execviaws.prw". 2 - Na "Função a ser chamada" colocar o nome da função do execauto que irá utilizar: Exemplo: U_MyMata410() |
Card |
---|
label | 3 - Compilação dos fontes |
---|
| Compilar os fontes: 1 - Fonte da API: execviaws.prw 2 - Fonte do execauto "ajustado" |
Card |
---|
| Expandir |
---|
title | Configurando o WEBSERVICE |
---|
| Para utilizar a API é necessário que os WebServices estejam ativos. Ambos serviços dependem do serviço HTTP do Protheus, que permite que as informações sejam publicadas na WEB. 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.
Informações |
---|
Os serviços devem ser configurados pelo WIZARD, pois a cada módulo WEB instalado são descompactados arquivos importantes no diretório informado na configuração. Estes arquivos são de extensão exclusiva da Microsiga, os *.MZP, e que apenas com o Wizard será possível a correta instalação. No exemplo acima, a configuração está sendo realizada para o caminho LOCALHOST. Para publicá-lo informe o nome da máquina ou o endereço IP. Caso seu serviço HTTP esteja configurado para a porta 80, não deve informá-lo no host. Exemplo localhost/ws. |
Deck of Cards |
---|
| Card |
---|
label | Se possuir apenas uma filial |
---|
| Card |
---|
default | true |
---|
id | Custo Médio |
---|
label | Configuração dos Web Services |
---|
| A - Acesse o Wizard de configuração dos Serviços;
B - 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.
Expandir |
---|
title | C - Configurando 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;
- Insira também os arquivo web_files na pasta systemload
- 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 |
---|
| 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 |
D - Configure os Módulos da Web: Expandir |
---|
title | WS 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".
Finalizar e confirmar a configuração. |
E - Configure o Portal (Protheus) Expandir |
---|
| - Realize as configurações básicas, campos importantes:
- Módulo Web = PP - Portal Protheus;
- Nome da Instância = pp;
- Diretório Raiz das Imagens (Web Path) = Diretório da Pasta Web onde o sistema irá criar a pasta "pp";
- Selecione o Environment = Nome do Ambiente;
- URL do Protheus Web Services = Server e Porta de configuração dos Web Services.
- Realize a Configuração de Host x Empresas/Filiais, campos importantes:
- Host = Server e porta do Portal (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. Inclua na pasta pp os colocar o arquivos da pasta web na systemload |
F - 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 |
---|
| [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 SECURITY=0
[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
[localhost:92/pp] ENABLE=1 PATH=c:\seuambiente\Protheus_Data\web\pp ENVIRONMENT=12.1.025 INSTANCENAME=pp RESPONSEJOB=JOB_PP SECURITY=0
[JOB_PP] TYPE=WEBEX ENVIRONMENT=ENVIRONMENT INSTANCES=1,1 SIGAWEB=PP INSTANCENAME=pp ONSTART=STARTWEBEX ONCONNECT=CONNECTWEBEX ONEXIT=FINISHWEBEX WEBSERVICELOCATION=http://localhost:92/ws SECURITY=0
Dica |
---|
| "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." |
|
G - Por fim, reinicie o Server do Protheus e verifique se o serviço do WebService subiu de forma correta no Browser, basta digitar o caminho que configurou no Wizard e verificar se o sistema indica como Habilitado:
|
|
Card |
---|
| Card |
---|
default | true |
---|
id | 060720201 |
---|
label | Configuração dos Web Services Multifilial |
---|
| O processo de configuração para uma nova filial é basicamente o mesmo, mas é necessário ter um novo WebService e Portal.
Expandir |
---|
title | A - Configurar WS 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".
Finalizar e confirmar a configuração. |
Expandir |
---|
title | B - Configurar PP Portal Protheus |
---|
| - Realize as configurações básicas, campos importantes:
- Módulo Web = PP - Portal Protheus;
- Nome da Instância = pp;
- Diretório Raiz das Imagens (Web Path) = Diretório da Pasta Web onde o sistema irá criar a pasta "pp";
- Selecione o Environment = Nome do Ambiente;
- URL do Protheus Web Services = Server e Porta de configuração dos Web Services.
- Realize a Configuração de Host x Empresas/Filiais, campos importantes:
- Host = Server e porta do Portal (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".
Finalizar e confirmar a configuração. |
Informações |
---|
Os serviços devem ser configurados pelo WIZARD, pois a cada módulo WEB instalado são descompactados arquivos importantes no diretório informado na configuração. Estes arquivos são de extensão exclusiva da Microsiga, os *.MZP, e que apenas com o Wizard será possível a correta instalação. No exemplo acima, a configuração está sendo realizada para o caminho LOCALHOST. Para publicá-lo informe o nome da máquina ou o endereço IP. Caso seu serviço HTTP esteja configurado para a porta 80, não deve informá-lo no host. Exemplo localhost/ws. Pra cada filial nova é necessário configurar um novo portal. |
C - 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 |
---|
| [HTTP] ENABLE=1 PATH=C:\nome do ambiente\Protheus_Data\Web PORT=91 ENVIRONMENT=nome do ambiente [localhost:91/ws] ENABLE=1 PATH=C:\nome do ambiente\Protheus_Data\web\WS ENVIRONMENT=nome do ambiente INSTANCENAME=WS RESPONSEJOB=JOB_WS_9901 → (Filial 01) DEFAULTPAGE=wsindex.apw [JOB_WS_9901] TYPE=WEBEX ENVIRONMENT=nome do ambiente INSTANCES=1,1 SIGAWEB=WS INSTANCENAME=WS ONSTART=__WSSTART ONCONNECT=__WSCONNECT PREPAREIN=99,01 → (Filial 01) [ONSTART] ;JOBS=JOB_WS_9901,JOB_PP,JOB_WS02_9902,JOB_PP02 [localhost:91/pp] ENABLE=1 PATH=C:\nome do ambiente\Protheus_Data\web\pp ENVIRONMENT=nome do ambiente INSTANCENAME=pp RESPONSEJOB=JOB_PP [JOB_PP] TYPE=WEBEX ENVIRONMENT=nome do ambiente INSTANCES=1,1 SIGAWEB=PP INSTANCENAME=PP ONSTART=STARTWEBEX ONCONNECT=CONNECTWEBEX ONEXIT=FINISHWEBEX WEBSERVICELOCATION=http://localhost:91/ws → (URL da filial 01)
[localhost:91/ws02] ENABLE=1 PATH=C:\nome do ambiente\Protheus_Data\web\WS02 ENVIRONMENT=nome do ambiente INSTANCENAME=WS02 RESPONSEJOB=JOB_WS02_9902 → (Filial 02) DEFAULTPAGE=wsindex.apw [JOB_WS02_9902] TYPE=WEBEX ENVIRONMENT=nome do ambiente INSTANCES=1,1 SIGAWEB=WS INSTANCENAME=WS02 ONSTART=__WSSTART ONCONNECT=__WSCONNECT PREPAREIN=99,02 → (Filial 02) [localhost:91/pp02] ENABLE=1 PATH=C:\nome do ambiente\Protheus_Data\web\pp02 ENVIRONMENT= nome do ambiente INSTANCENAME=pp02 RESPONSEJOB=JOB_PP02 [JOB_PP02] TYPE=WEBEX ENVIRONMENT=nome do ambiente INSTANCES=1,1 SIGAWEB=PP INSTANCENAME=pp02 ONSTART=STARTWEBEX ONCONNECT=CONNECTWEBEX ONEXIT=FINISHWEBEX WEBSERVICELOCATION=http://localhost:91/ws02 → (URL da Filial 02) |
D - Por fim, reinicie o Server do Protheus e verifique se o serviço do WebService subiu de forma correta no Browser, basta digitar o caminho que configurou no Wizard e verificar se o sistema indica como Habilitado:
|
|
|
|
|
Card |
---|
| Para fazer a chamada da API iremos utilizar o SoapUI: 1 - Baixar e instalar o SoapUI: https://www.soapui.org/downloads/latest-release/ Dica |
---|
| Para fazer a configuração do SoapUI é necessário compilar o fonte da API e subir o appserver do WebService. |
2 - No SoapUI clicar em: File > New SOAP Project
3 - Informar os dados de acesso ao SoapUI, campos a preencher: - Project Name: Nome do seu projeto
- Initial WSDL: Coloque o endereço de seu Webservice + o texto: /WSTESTE01.apw?WSDL
- Clicar em "OK"
4 - No SoapUI dê um duplo clique em "Request 1" e configure da seguinte forma:
Dica |
---|
| - USERCODE: Admin
- CUMPED: Senha do usuário admin
|
|
Card |
---|
| No SoapUI dê um duplo clique em "Request 1" e clique no botão "play".
Image Added |
|
|
|
|
|