Árvore de páginas

Versões comparadas

Chave

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

...

Neste exemplo, não contém informações sobre as chaves referente a utilização do SmartClient
Bloco de código
languagesass
themeRDark
linenumberstrue
[General]
MAXSTRINGSIZE=10       // Essa chave é obrigatória com o valor mínimo de 10

[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         
Instances=1,1          // Chave obrigatória, mais informações http://tdn.totvs.com/display/tec/Instances
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 protheusProtheus pode responder, deve conter o valor * (responder para qualquer ip) ou os ip's 
Informações

Obs: O exemplo acima contém apenas os valores obrigatórios referente ao REST.

3 - Problemas mais comuns:

A falta de quaisquer uma das chaves no exemplo acima faz com que o REST não funcione como esperado. Abaixo listamos algumas:

  • SECURITY=0

               A chave SECURITY indica se o REST irá validar o usuário que esta fazendo a chamada ou não, quando o valor esta como 0, é desconsiderado o usuário enviado e o Protheus executa a chamada com o usuário administrador. Essa configuração traz grandes problemas de segurança para o Protheus e deve ser usado apenas em modo de desenvolvimento.
             Os aplicativos também não funcionam corretamente, pois independente do usuário que fez o login, os dados e configurações de usuário exibidos dentro do aplicativo, são do usuário administrador.
             Caso não haja a chave SECURITY, o valor dela é 1, o que esta correto também.

  • PrepareIn

            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ça) 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.