Script PHP para testar comunicação remota a partir do seu Moodle

Script PHP para testar comunicação remota a partir do seu Moodle

por Lino Vaz Moniz -
Número de respostas: 0

Para efetuar teste de comunicação remota a partir do seu Moodle com a Plataforma Badiu.Net, execute o código a seguir.

O código faz um teste de comunicação com a plataforma de serviço teste da Badiu.Net

O script  usa o comando  curl.

$host="http://d1.badiu21.com.br/badiunet/web/app_dev.php/system/service/process";

$param=array();
$param['_service']="badiu.system.user.saccount.service";
$param['_function']="getByDocument";
$param['_token']="xxxxxxxxxxxxxxxxxxxxxxxx";
$param['doctype']="YYY";
$param['docnumber']="00000000000";

$data=request($host,$param,true);
print_r($data);



    function request($host,$param,$outarray=false) {
       
        $paramjson = json_encode($param);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $host);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $paramjson);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);
       // return  $result;
       $result=convertData($result,$outarray);
      return $result;
    }
    
     function convertData($data,$outarray=false) {
        $max_int_length = strlen((string) PHP_INT_MAX) - 1;
        $json_without_bigints = preg_replace('/:\s*(-?\d{' . $max_int_length . ',})/', ': "$1"', $data);
        $oresult = json_decode($json_without_bigints, $outarray);
        return $oresult;
    }

 

Faça download  do código e coloque na pasta _extra do seu Moodle. Essa pasta não existe no Moodle. Crie e coloque o código lá.

Após isso, faça teste executando o seguinte URL:

MOODLE_URL/_extra/request_webservice_postjson.php

Ao executar, deve aparecer o seguinte resultado:

Array ( [status] => danied [info] => badiu.system.service.error.token.is.not.valid [message] => )

Se aparecer isso, é sinal que o comando curl está funcionado no seu servidor.