Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia,
Estou com problema para passar parâmetros utilizando soap + php.
No meu cliente eu tenho o seguinte código:
<?php
$client = new SoapClient('exemplo.wsdl', array('location' => "http://127.0.0.1/workspace/RadiusTools/php/Server.php",
'uri' => "http://127.0.0.1/workspace/RadiusTools/"));
$valores = json_decode($_POST['data']);
$data = array("id"=>$valores->id,"username"=>$valores->username,
"reply"=>$valores->reply,"pass"=>$valores->pass);
$resultado = $client->__call("addradpostauth",$data);
echo json_encode($resultado);
?>
Este código está ok, já criei array de diversas formas e ele me resulta o array com os valores corretos, pegando os dados através do $_POST.
No meu server tenho o seguinte código:
function addradpostauth($data){
$db = new PDO("mysql:host=127.0.0.1;dbname=radius;","root","root");
$stm = $db->prepare('insert into radpostauth (username,pass,reply) values (:username,:pass,:reply)');
$stm->bindValue(':username',$data->username);
$stm->bindValue(':pass', $data->pass);
$stm->bindValue(':reply', $data->reply);
$result = $stm->execute();
$stm->fetch(PDO::FETCH_ASSOC);
$insert = $db->lastInsertId();
$msg = $insert ? 'Registro(s) inserido(s) com sucesso' : 'Erro ao inserir o registro, tente novamente.';
$data->id = $insert;
if ($result){
// $this->log_alteracao('insert','id',$insert,$insert,$insert);
}
return array(
"success" => $insert,
"message" => $msg,
"data" => $data);
}
Não consigo encontrar uma maneira que consiga receber esse valores no meu server, ele vem em branco os parâmetros.
Qual seria a maneira correta de pegar os valores e passar os parâmetros ??
Agradeço a quem puder me ajudar.
Carregando comentários...