pacs practicasu5 serviciosweb

Upload: sophiierosas

Post on 27-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 PACS PracticasU5 ServiciosWeb

    1/4

    SERVICIOS WEBConsumo de un servicio web

    En el presente documento se realiza el consumo de un servicio

    Web a travs del lenguaje de programacin PHP y que est

    alojado en un repositorio Web.

  • 7/25/2019 PACS PracticasU5 ServiciosWeb

    2/4

    PROGRAMACIN EN AMBIENTES CLIENTE-SERVIDOR

    Pgina 2 M.S.C. ANTONIO DANIEL LPEZ SERRANO

    PROCEDIMIENTO.Nuevamente trabajaremos con nuestro sitio de almacenamiento y donde se

    encuentran alojados en la Web ciertos servicios disponibles a la comunidad

    programadora.

    Una de las razones por las cuales se consume o invoca un servicio Web a travs de los

    leguajes de programacin, es con la finalidad de aprovechar los recursos disponibles

    en la Web. Algunos de los muchos servicios Web que se encuentran actualmente

    disponibles se ubican en el sitio oficial http://www.webservicex.com. En este sitio, estn

    almacenadas diversas descripciones para los diferentes tipos de servicios Web, que se

    invocan desde el lenguaje de programacin que se desee.

    De aqu voy a tomar una ubicacin del servicio Web (archivo wsdl) que se consumir a

    travs de cdigos en PHP que sern explicados posteriormente.

    Recordemos que para poder realizar el consumo de los servicios Web en PHP se deber

    de descargar la librera NuSOAP (http://sourceforge.net/projects/nusoap/), deber de

    descomprimirse y colocar la carpeta liben donde se ubican nuestros programas PHP.

    El servicio Web que se va a consumir para este ejemplo se tom de la pgina

    http://www.webservicex.com/globalweather.asmxdel cual se tomar la descripcin

    (Service Description) del mismo sitio.

    Para el ejemplo que se mostrar a continuacin, vamos a trabajar con las operaciones

    GetCitiesByCountry y GetWeather. Abrimos la descripcin y verificamos de qu manera

    se desglosa esa operacin junto con el resultado para ser consumidos posteriormente.

    http://sourceforge.net/projects/nusoap/http://sourceforge.net/projects/nusoap/http://sourceforge.net/projects/nusoap/http://www.webservicex.com/globalweather.asmx?op=GetCitiesByCountryhttp://www.webservicex.com/globalweather.asmx?op=GetCitiesByCountryhttp://sourceforge.net/projects/nusoap/
  • 7/25/2019 PACS PracticasU5 ServiciosWeb

    3/4

    PROGRAMACIN EN AMBIENTES CLIENTE-SERVIDOR

    Pgina 3 M.S.C. ANTONIO DANIEL LPEZ SERRANO

    CDIGOS DE EJEMPLO PARA CONSUMIR UN SERVICIOWEB EN PHPColocar al inicio del cdigo de PHP la importacin o inclusin de la librera NUSOAP. Esto

    puede hacerse de cualquiera de las siguientes dos maneras posibles.

    include('lib/nusoap.php');

    require_once("lib/nusoap.php");

    1ER. PROGRAMA (invocado.php)

    error_reporting(0);require_once('lib/nusoap.php');$client = new nusoap_client('http://www.webservicex.com/globalweather.asmx?WSDL', true);$err = $client->getError();

    if ($err) {

    echo 'Constructor error' . $err . '';}

    $strCountry = 'mexico';$param = array('CountryName' => $strCountry);

    $result = $client->call('GetCitiesByCountry', array('parameters' => $param), '', '', false, true);

    //Verifica alguna fallaif ($client->fault) {

    echo 'Fault';print_r($result);echo '';

    } else {// Verifica errores$err = $client->getError();if ($err) {

    // Muestra el errorecho 'Error' . $err . '';

    }else{//Usa XML Parser para mapear el resultado XML y usar las variables PHP

    $strResultXML = $result['GetCitiesByCountryResult'];$p = xml_parser_create();xml_parse_into_struct($p, $strResultXML, $vals, $index);

    xml_parser_free($p);

    echo '';print_r($vals);

    echo '';

    //Aqui hemos obtenido un arreglo con los valores que esperabamos tener$ciuadades = array();$i = 0;

    foreach ($vals as &$tag) {if($tag['tag'] == 'CITY'){

    $ciudades[$i] = $tag['value'];$i++;

    }}

    echo 'Aeropuertos del pais : '.strtoupper($strCountry).'';

    echo '';foreach ($ciudades as &$city) {

    echo '

    '.$city.'

    ';}

    echo '';echo '';

    }}

  • 7/25/2019 PACS PracticasU5 ServiciosWeb

    4/4

    PROGRAMACIN EN AMBIENTES CLIENTE-SERVIDOR

    Pgina 4 M.S.C. ANTONIO DANIEL LPEZ SERRANO

    2DO. PROGRAMA (mostrandoClima.php)

    Si todo ha salido bien, al consumir el servicio Web en el primer programa se muestra el

    listado de todos los aeropuertos de nuestro pas, mientras que en el segundo muestraen una tabla las caractersticas climatolgicas del aeropuerto seleccionado.

    EJERCICIOTecleen y prueben los cdigos que se acaban de mencionar y para culminar con esta

    unidad, les pido que realicen su reporte correspondiente.

    La entrega del reporte ser para el da Lunes 14 de Diciembre del ao en curso.