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.