Hola amigos me solicitaron crear un web service en PHP el cual me devolviera datos en JSON, al parecer lo logré, esta funcionando en mi localhost, pero al subirlo al servidor de producción me arroja el siguiente error,
Fatal error: Call to undefined method soapclient::muestra_datos() in /home/ruta/archivo.php on line xx
Les dejo el código, para saber si es algo de código, o si puede ser algo de servidor,
espero me puedan ayudar, muchas gracias
Este es el código del web service
Código PHP:
<?php
require_once('nusoap/lib/nusoap.php');
$miURL = 'http://miURL/webservice';
$server = new soap_server();
$server->configureWSDL('Web Service', $miURL);
$server->wsdl->schemaTargetNamespace=$miURL;
// Mostrar datos //
$server->register('muestra_datos', // Nombre de la funcion
array('parametro' => 'xsd:string','parametro2' => 'xsd:string'), // Parametros de entrada
array('return' => 'xsd:string'), // Parametros de salida
$miURL);
function muestra_datos($parametro,$parametro2){
$enlace = mysqli_connect('localhost', 'userbd', 'passbd', 'bd');
mysqli_set_charset($enlace,'utf8');
$arr = array();
$rs = mysqli_query($enlace,"call lee_alumno('$parametro','$parametro2')");
$aDatos = array();
while($res = mysqli_fetch_assoc($rs)){
$aDatos[] = array('nombres_alum'=>$res["nombres_alum"],'apell_pater_alum'=>$res["apell_pater_alum"],'apell_mater_alum'=>$res["apell_mater_alum"],
'nombre_sede'=>$res["nombre_sede"],'email'=>$res["email"],'fono_pers'=>$res["fono_pers"],'fono_dom'=>$res["fono_dom"],'estado'=>$res["estado"]);
}
$valor_retorno = '{'.json_encode($aDatos).'}';
mysqli_close($enlace);
return new soapval('return', 'xsd:string',$valor_retorno);
}
//......................................................................................
$server->service($HTTP_RAW_POST_DATA);
?>
y con este archivo estoy tratando de consumir el web service, OJO que me funciona en mi localhost, pero en el servidor de producción no,
Código PHP:
require_once('nusoap/lib/nusoap.php');
$var1 = 'xxxxxxxx';
$var2 = 'x';
$client = new soapclient('http://miURL/webservice/servicio_web.php?wsdl');
$result = $client->muestra_datos($var1,$var2);
echo $result;
Si no es problema de código, será problema de servidor? y en que me puedo fijar,
de ante mano Gracias muchachos !