Hola a todos,
Necesito su ayuda por favor, construi un web services que entrega resultados de una consulta a una BD, desde mi local funciona perfectamente, pero al hacerlo en mi sitio no me arroja resultados y tengo serias sospechas q es en la conexión el problema, el cual no puedo descubrir.
les dejo el código para ver si me pueden ayudar.. gracias.
servidor.php
<?php
include('lib/nusoap.php');
$server = new soap_server;
$server->configureWSDL('obtenerCliente', 'urn:obtenerCliente');
$server->wsdl->addComplexType('cliente','complexType','struct',' all','',
array(
'idcliente' => array('name' => 'id', 'type' => 'xsd:string'),
'usuario' => array('name' => 'usuario', 'type' => 'xsd:string'),
'password' => array('name' => 'password', 'type' => 'xsd:string' ),
));
$server->register('obtenerCliente',
array('idcliente' => 'xsd:string'),
array('return'=>'tns:cliente'),
'urn:obtenerCliente',
'urn:obtenerCliente#cliente',
'rpc',
'encoded',
'Este método devuelve un cliente.');
function obtenerCliente($id){
$con = new mysqli("localhost","user","pass","base");
$sql = "SELECT idcliente, usuario, password FROM clientes where idcliente = $id";
$stmt = $con->prepare($sql);
$stmt->execute();
$stmt->bind_result($col1,$col2,$col3);
$stmt->fetch();
$row[0] = $col1;
$row[1] = $col2;
$row[2] = $col3;
return array('idcliente' => $row[0],'usuario' => $row[1],'password' => $row[2]);
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>
CLIENTE:
<?php
require('lib/nusoap.php');
$l_oClient = new soapclient('http://www.misitio.cl/servidor.php?wsdl', 'wsdl');
$l_oProxy = $l_oClient->getProxy();
$parametro = 1;
/**
* $parametro = $_GET['id'];
*/
$l_stResult = $l_oProxy->obtenerCliente($parametro);
print '<h1>Cliente :</h1>'
. '<br>Id: ' . $l_stResult['idcliente']
. '<br>usuario : ' . $l_stResult['usuario']
. '<br>Password ' . $l_stResult['password'];
?>
GRACIAS..