Foros del Web » Programando para Internet » PHP »

Problema con respuesta de nusoap

Estas en el tema de Problema con respuesta de nusoap en el foro de PHP en Foros del Web. ayuda amigos del foro estoy consumiendo un webservices (con nusoap) de prueba el cual me entrega el tiempo segun los parametros de ciudad y pais ...
  #1 (permalink)  
Antiguo 03/01/2013, 08:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Problema con respuesta de nusoap

ayuda amigos del foro

estoy consumiendo un webservices (con nusoap) de prueba el cual me entrega el tiempo segun los parametros de ciudad y pais el cual me devuelve un array.

hasta ahi todo perfecto el problema surge cuando quiero sacar solo un par de datos de este array no se como hacerlo porfavor amigos del foro necesito su ayuda les escribo el codigo para que me puedan ayudar

Código:
Error_reporting(0);
require_once('lib/nusoap.php');
 
$ciudad=$_POST["ciudad"];
$pais=$_POST["pais"]; 


$wsdl = 'http://www.webservicex.net/globalweather.asmx?wsdl';

$soapclient = new nusoap_client($wsdl,true);

$function = 'GetWeather';

$params = array('CityName' => $ciudad,'CountryName' => $pais);

$result = $soapclient->call($function , $params);
 

echo "<pre>", htmlspecialchars(print_r($result, true)), "</pre>";
y lo que imprime

Código:
Array
(
    [GetWeatherResult] => <?xml version="1.0" encoding="utf-16"?>
<CurrentWeather>
  <Location>Quintero Santiago, Chile (SCER) 32-47S 071-31W 8M</Location>
  <Time>Mar 30, 2011 - 11:00 AM EDT / 2011.03.30 1500 UTC</Time>
  <Wind> from the SW (220 degrees) at 10 MPH (9 KT) (direction variable):0</Wind>
  <Visibility> greater than 7 mile(s):0</Visibility>
  <Temperature> 75 F (24 C)</Temperature>
  <DewPoint> 57 F (14 C)</DewPoint>
  <RelativeHumidity> 53%</RelativeHumidity>
  <Pressure> 29.91 in. Hg (1013 hPa)</Pressure>
  <Status>Success</Status>
</CurrentWeather>
)
  #2 (permalink)  
Antiguo 03/01/2013, 13:22
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Problema con respuesta de nusoap

Por lo que veo, el array contiene un xml. con simplexml de php lo puedes desmenuzar según tus necesidades.
  #3 (permalink)  
Antiguo 03/01/2013, 13:27
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: Problema con respuesta de nusoap

Prueba esto

Código PHP:
Error_reporting(0);
require_once('lib/nusoap.php');
 
$ciudad=$_POST["ciudad"];
$pais=$_POST["pais"]; 


$wsdl = 'http://www.webservicex.net/globalweather.asmx?wsdl';

$soapclient = new nusoap_client($wsdl,true);

$function = 'GetWeather';

$params = array('CityName' => $ciudad,'CountryName' => $pais);

$result = $soapclient->call($function , $params);
 
$xml=$result['GetWeatherResult'];
$xml=str_replace('<?xml version="1.0" encoding="utf-16"?>',"",$xml);
$xml=simplexml_load_string($xml);
$xml=(array)$xml;
foreach($xml as $K=>$V){
    $data.=$K.": ".$V."<br>";
}
echo "<pre>".$data."</pre>";
este es el resultado http://creaelicita.cl/ayuda/foro_1030122.php
  #4 (permalink)  
Antiguo 03/01/2013, 14:46
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con respuesta de nusoap

enlinea777 muy buena tu respuesta
amigo ahora a raiz de tu comentario como puedo tomar solo un par de registros imaginate necesito solo 3 o 4 por dar un ejemplo ahora o que hace el foreach es entregarme la totalidad de los campos del xml porfavor ayudame
  #5 (permalink)  
Antiguo 04/01/2013, 08:27
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: Problema con respuesta de nusoap

Cita:
Iniciado por imorrison Ver Mensaje
enlinea777 porfavor ayudame o algun amigo del foro con mi ultima pregunta
Hola.

mira el foreach solo desmenusa el arreglo con los datos para ponerlos en una variable.

si quieres puedes llamar a cada uno de los parametros asi:


Código PHP:
$result = $soapclient->call($function , $params);
 
$xml=$result['GetWeatherResult'];
$xml=str_replace('<?xml version="1.0" encoding="utf-16"?>',"",$xml);
$xml=simplexml_load_string($xml);
$xml=(array)$xml;// ESTO HACE QUE $xml SEA UN ARREGLO
foreach($xml as $K=>$V){
    $data.=$K.": ".$V."<br>";
}
echo "<pre>".$data."</pre>";
echo $xml['Location'];
echo $xml['Location']; //ESTO HACE QUE SOLO SE IMPRIMA LOCATION, PUEDES HACER ESTO CON LAS OTRAS CLAVES
  #6 (permalink)  
Antiguo 04/01/2013, 08:50
 
Fecha de Ingreso: mayo-2010
Mensajes: 12
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con respuesta de nusoap

enlinea777 muchas gracias amigo me solucionaste un problema muy grande que tenia muchas gracias amigo

Etiquetas: html, nusoap, respuesta, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:16.