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.