RR
Problemas ao consumir Servidor Rest
Construir um servidor rest utilizando o Adianti pro conforme video só que no momento que tento testar receber a seguinte mensagem:
( ! ) Warning: file_get_contents(localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25): failed to open stream: No error in C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php on line 9
Call Stack
# Time Memory Function Location
1 0.0010 122456 {main}( ) ...teste2.php:0
2 0.0011 123328 file_get_contents ( 'localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25' ) ...teste2.php:9
Dump $_SERVER
$_SERVER['REMOTE_ADDR'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string '127.0.0.1' (length=9)
$_SERVER['REQUEST_METHOD'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'GET' (length=3)
$_SERVER['REQUEST_URI'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string '/adianti-template-5.7.0/template/teste2.php' (length=43)
Variables in local scope (#1)
$location =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'localhost:8080/adianti-template-5.7.0/template/rest.php' (length=55)
$parameters =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:
array (size=3)
'class' => string 'ClientesService' (length=15)
'method' => string 'load' (length=4)
'ID_CLI' => string '25' (length=2)
$url =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25' (length=99)
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:null
Não conseguir descobrir o porque deste problema, peço humildemente a ajuda de alguem.
Desde já agradeço pela atenção!
( ! ) Warning: file_get_contents(localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25): failed to open stream: No error in C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php on line 9
Call Stack
# Time Memory Function Location
1 0.0010 122456 {main}( ) ...teste2.php:0
2 0.0011 123328 file_get_contents ( 'localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25' ) ...teste2.php:9
Dump $_SERVER
$_SERVER['REMOTE_ADDR'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string '127.0.0.1' (length=9)
$_SERVER['REQUEST_METHOD'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'GET' (length=3)
$_SERVER['REQUEST_URI'] =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string '/adianti-template-5.7.0/template/teste2.php' (length=43)
Variables in local scope (#1)
$location =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'localhost:8080/adianti-template-5.7.0/template/rest.php' (length=55)
$parameters =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:
array (size=3)
'class' => string 'ClientesService' (length=15)
'method' => string 'load' (length=4)
'ID_CLI' => string '25' (length=2)
$url =
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:string 'localhost:8080/adianti-template-5.7.0/template/rest.php?class=ClientesService&method=load&ID_CLI=25' (length=99)
C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste2.php:9:null
Não conseguir descobrir o porque deste problema, peço humildemente a ajuda de alguem.
Desde já agradeço pela atenção!
Como se trata de uma ulr, tente adicionar "" antes de localhost, caso contrário a função file_get_contents vai interpretar como sendo o caminho para um arquivo ao invés de uma página php.
Mais detalhes:
https://www.php.net/file_get_contents
*"Como se trata de uma url, tente adicionar "H T T P : / /" antes de localhost"...
Acho que por questão de segurança o trecho anterior foi removido
Ainda continuo com o mesmo error, segue o codigo que estou utilizando
E quando mudei o codigo para este baixo:
Só para complementar a informação, fiz um teste com o proprio microERP do adianti o que percebi foi o seguinte:
Quando executo usando o banco padrão do microERP funciona perfeitamente as consultas, mas quando mudo para acessar o banco de dados FireBird ele me gerar a mensagem "Permissão Negada".
Fiz um programa para conectar no banco sem ser atraves do rest e conectou e puxou dados normalmente.
Algem tem idéia do que seja o problema e como resolver?
Dentro do arquivo rest.php tem uma verificação que pode retornar "permissão negada":
Confirme se é essa validação que está retornando erro.
O problema persiste fiz todas as etapas pelo proprio adianti-studio-pro e o resultado é sempre o mesmo null
Lembrando que o bando de dados que estou utilizando é Firebird.
Este é o link que tento executar localhost:8080/adianti-template-5.7.0/template/teste.php
Este é o retorno do link após executar: C:EasyPHP-Devserver-17eds-wwwadianti-template-5.7.0templateteste.php:10:null
***********************************************************************************
Este é o codigo do teste.php
Olá
Estou tento o mesmo problema de permissão negada de chamadas vindas de Flutter/DIO.
O endereço de chamada possui h t t p no inicio e mesmo assim, dá permissão negada.
Estou quase desistindo de usar REST no Adianti.
Eu também enfrentei o problema de permissão negada, mas eu estava errando na rota rewrite do NGINX, agora só um detalhe... na recuperação do token, a função array_walk_recursive lança um WARNING:
O $response retorna uma string... e a função espera um array... então eu ajustei com: