Se neccesita la url del webservice, el método al que vas a

Anuncio
Se neccesita la url del webservice, el método al que vas a llamar y los parámetros a pasarle y, como en cualquier
servicio SOAP, te devolverá un XML.
$servicio="http://dominio.com/noticias?wsdl"; //url del servicio
$parametros=array(); //parametros de la llamada
$parametros['idioma']="es";
$parametros['usuario']="manolo";
$parametros['clave']="tuclave";$client = new SoapClient($servicio, $parametros);
$result = $client->getNoticias($parametros);//llamamos al métdo que nos interesa con
los parámetros
Con estas instrucciones ya tenemos en $result el XML resultado de la llamada al servicio. Como trabajar
con el XML es un poco engorroso, lo convertimos a un array asociativo de manera que nos sea más
sencillo procesar los datos, para ello utilizamos la función obj2array que indico a continuación.
$result = obj2array($result);
$noticias=$result['resultado']['noticias'];
$n=count($noticias);
//procesamos el resultado como con cualquier otro array
for($i=0; $i<$n; $i++){
$noticia=$noticias[$i];
$id=$noticia['id'];
//aquí iría el resto de tu código donde procesas los datos recibidos
}
function obj2array($obj) {
$out = array();
foreach ($obj as $key => $val) {
switch(true) {
case is_object($val):
$out[$key] = obj2array($val);
break;
case is_array($val):
$out[$key] = obj2array($val);
break;
default:
$out[$key] = $val;
}
}
return $out;
}
Descargar