> Manuales > Web Services con PHP

Ponemos fin a la serie de capítulos sobre los Web Services.

Código de mostrarPronostico.php

<?php

/**
* Codigo para consumir un servicio web (Web Service) por medio de NuSoap
* La distribucion del codigo es totalmente gratuita y no tiene ningun tipo de restriccion.
* Se agradece que mantengan la fuente del mismo.
*/
// Le indicamos a PHP que no muestre los Notices (por si el servicio no retorna datos)
// (esto se puede evitar preguntando si hay datos antes de mostrarlos)
error_reporting(1);

// Inclusion de la libreria nusoap (la que contendra toda la conexión con el servidor
//require_once('lib/nusoap.php');
$oSoapClient = new soapclient('http://live.capescience.com/wsdl/GlobalWeather.wsdl', true);
if ($sError = $oSoapClient->getError()) {
   echo "No se pudo realizar la operación [" . $sError . "]";
   die();
}

// Viene de un POST => Selecciono una ciudad
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $aParametros = array("code" => $_POST["codLocalidad"]);
   $aRespuesta = $oSoapClient->call("getWeatherReport", $aParametros);
}
   // Existe alguna falla en el servicio?
   if ($oSoapClient->fault) { // Si
      echo 'No se pudo completar la operación';
      die();
   } else { // No
      $sError = $oSoapClient->getError();
      // Hay algun error ?
      if ($sError) { // Si
         echo 'Error:' . $sError;
      }
}
?
><html>
   <body>
      <table width="367" border="0" cellspacing="0" cellpadding="0">
      <tr>
         <td colspan="2"><div align="center">Datos del tiempo</div></td>
      </tr>
      <tr>
         <td width="147"> </td>
         <td width="220"> </td>
      </tr>
      <tr>
         <td>Nombre:</td>
         <td><?=$aRespuesta["station"]["name"];?></td>
      </tr>
      <tr>
         <td>Elevación:</td>
         <td><?=$aRespuesta["station"]["elevation"]; ?></td>
      </tr>
      <tr>
         <td>Fecha y Hora:</td>
         <td><?=$aRespuesta["timestamp"];?></td>
      </tr>
      <tr>
         <td>País:</td>
         <td><?=$aRespuesta["station"]["country"];?></td>
      </tr>
     <tr>
         <td>Latitud:</td>
         <td><?=$aRespuesta["station"]["latitude"];?></td>
      </tr>
         <tr>
      <td>Longitud:</td>
         <td><?=$aRespuesta["station"]["longitude"];?></td>
      </tr>
      <tr>
         <td>Presión:</td>
         <td><?=$aRespuesta["pressure"]["string"];?></td>
      </tr>
      <tr>
         <td>Temperatura:</td>
         <td><?=$aRespuesta["temperature"]["string"];?></td>
   <   /tr>
      <tr>
         <td>Visibilidad:</td>
         <td><?=$aRespuesta["visibility"]["distance"];?> mts.</td>
      </tr>
      </table>
   </body>
</html>

Orlando Fabián Brea

Manual