Sábado, 08 Marzo 2014 00:00

Consumir un servicio web con PHP, usando nuSOAP

Escrito por 
Valora este artículo
(5 votos)

Vamos a utilizar el servicio web creado en el artículo anterior, usando PHP y la librería nuSOAP. Recordemos que el servicio constaba unicamente de un método que realizaba una consulta a una tabla de datos creada como ejemplo, para realizar la consulta se utilizaban dos parámetros de entrada que hacían referencia al dato que se quería consultar, en este caso: un identificador unívoco y un texto descriptivo.

Comenzaremos incluyendo la librería, creando una instancia de la clase nusoap_client, pasándole la URL que contiene la descripción pública del servicio creado anteriormente, así como el tipo de descripción (en este caso WSDL).

 

include('lib/nusoap.php');
$client = new nusoap_client('http://www.lapolitecnica.net/webservices/servicio.php?wsdl','wsdl');

 

Añadimos una pequeña validación, por si se produjese algún error a la hora de crear la instancia del cliente.

$err = $client->getError();
if ($err) {	echo 'Error en Constructor' . $err ; }

 

Inicializamos los valores de los parámetro que se van a pasar en la llamada al servicio web (param_id y param_txt), y hacemos la llamada al método MetodoConsulta con los valores indicados:

$param = array('param_id' => '2','param_txt' => 'DVD');
$result = $client->call('MetodoConsulta', $param);

 

Finalmente en función de la respuesta obtenida, mostramos el resultado obtenido de la llamada al servicio.

if ($client->fault) {
	echo 'Fallo';
	print_r($result);
} else {	// Chequea errores
	$err = $client->getError();
	if ($err) {		// Muestra el error
		echo 'Error' . $err ;
	} else {		// Muestra el resultado
		echo 'Resultado';
		print_r ($result);
	}
}

 

Podemos consultar el contenido almacenado en la tabla de pruebas desde aquí: ARTÍCULOS.

Visto 65956 veces Modificado por última vez en Viernes, 10 Octubre 2014 10:29

1422 comentarios

Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el código HTML. Tu dirección de correo NO será publicada.