Histórico da Página
...
Para utilização dos Apps é necessário que o REST do Protheus esteja habilitado e configurado corretamente, nas com a autenticação habilitada. Nas seções abaixo temos alguns exemplos de configuração e validação.
...
Os arquivos podem ser copiados da pasta appserver, sendo necessário alterar apenas o arquivo appserver.ini da pasta onde ficará o REST.
Informações | ||
---|---|---|
| ||
Caso você utiliza mais de um tipo de webservice, para correto funcionamento das integrações, o appserver REST e SOAP não devem rodar na mesma instância do serviço, nem estar expostos na mesma porta. |
3 - Configuração do appserver.ini:
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
[General] MAXSTRINGSIZE=10 // Essa chave é obrigatória com o valor mínimo de 10 [HTTPV11] Enable=1 Sockets=HTTPREST [HTTPREST] Port=8080 // porta que o REST irá utilizar para subir o serviço, pode ser alterada para qualquer outra porta. IPsBind= URIs=HTTPURI Security=1 // O valor 1 é obrigatório. [HTTPURI] // mesmo valor da chave URIs, definido na linha 7 URL=/rest // path onde o rest irá subir, pode ser alterado. PrepareIn=ALL // Chave que indica qual environment será preparado para o rest. ALL significa que deve ser preparado para atender todas as empresas. Caso você queira utilizar o REST com empresa 1 filial 01, por exemplo, inserir na chave 1,01 Instances=2,5,1,1 // Chave obrigatória, mais informações sobre configuração em http://tdn.totvs.com/display/tec/Instances . A configuração desta chave impacta diretamente no total de licenças consumidas pelo REST. CORSEnable=1 // essa chave é obrigatória e com o valor 1, caso contrário, o REST não aceitara as requisições dos apps. AllowOrigin=* // Essa chave limita os IP's que o REST do Protheus pode responder, deve conter o valor * (responder para qualquer ip) ou os ip's específicos onde a integração será realizada [HTTPJOB] MAIN=HTTP_START // Cria um JOB que inicializa o servidor HTTP na inicialização do serviço ENVIRONMENT=environment // Diz em qual environment o JOB será configurado [ONSTART] jobs=HTTPJOB // Indica que o HTTPJOB será iniciado quando o serviço for iniciado RefreshRate=30 // Indica qual a taxa de atualização para reiniciar o JOB em caso de falha |
Obs: O exemplo acima contém apenas os valores obrigatórios referente ao REST.
Após configurado, você pode iniciar o executável do appserver do REST em modo console e verificar se ele subiu corretamente através da mensagem no console:
4 - Problemas mais comuns:
...
A chave prepareIn indica para quais empresas/filiais o REST irá subir uma thread. O Valor ALL usado no exemplo acima sobe uma thread para cada empresa e filial. Porém é consumida uma licença (especificar qual licençaTOTVS i) para cada thread. Caso o cliente não for utilizar todas as empresas/filias, é possível subir apenas para as que ele deseja. Exemplo:
PrepareIn=T1, D MG 01
Criar exemplo com 2 empresas / filias
- CORSEnable
A chave CORSEnable indica se o REST do Protheus pode receber requisições fora do próprio servidor. Para utilização dos Apps, essa chave é obrigatória com o valor 1. Pois seu valor padrão é 0.
...