FoxPro/Visual FoxPro - Consumir Web Service desde VFP9

 
Vista:

Consumir Web Service desde VFP9

Publicado por Paco Calvente (1 intervención) el 21/12/2010 19:13:19
Hola compañeros,

Necesito hacer una consulta a un web service, normalmente siempre he utilizado llamadas directas a la URL usando HTTP y los metodos GET/POST, pero en este caso el WS a consultar solo se puede acceder via SOAP y conectar e interactuar usando un WSDL,
me han enviado un ejemplo de la consulta que debo de realizar pero desarrollada PHP5,
he estado investigando a traves de la web pero no consigo entender la metodologia.
Podria alguien ayudarme a convertir de PHP a VFP este código u orientarme en las consultas a traves de SOAP usando VFP9.

Gracias de antemano,

El codigo PHP es el siguiente:

<?php
ini_set("soap.wsdl_cache_enabled", 0);
try
{
$sClient = new
SoapClient("http://desarrollo.internetfactory.es/jmartinez/
sybelio_v5/ws/basic.wsdl", array('trace' => 1));

$params = array("user" => "usuario", "pass" => "demo");
$sesion = $sClient->login($params);

$params = array("sesion" => $sesion, "idioma" => "esp");
$hoteles = $sClient->hoteles($params);

$listado_hoteles = simplexml_load_string($hoteles);
if (count($listado_hoteles->listado->hoteles) > 0)
{
foreach ($listado_hoteles->listado->hoteles as $key=>$valor)
{
$idhotel = intval($valor->hotel->hotel_id);
$params = array("sesion" => $sesion, "hotel" => $idhotel);
$hab = $sClient->habitaciones($params);
$listado_habitaciones = simplexml_load_string($hab);

if (count($listado_habitaciones->listado->habitaciones-
>habitacion) >= 1)
{
foreach ($listado_habitaciones->listado->habitaciones->habitacion
as $key=>$valor)
{
$id_habitacion = $valor->habitacion_id;
$params = array("sesion" => $sesion, "idhotel" => $idhotel,
"passempresa" => "", "fechadesde" => "01-09-2010", "fechahasta" =>
"11-09-2010", "idhabitacion" => $id_habitacion);
$cotizacion = $sClient->cotizacion($params);
print_r(simplexml_load_string($cotizacion));
}
} else echo "No se encuentran habitaciones";
}
} else echo "No se encuentran hoteles";
}catch (SoapFault $e)
{
echo 'Hubo un error'; print_r($e);
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder