Get it on Google Play

Integraciones SOAP en PHP, super fácil

13-05-2016
 
SOAP PHP

SOAP PHP

Hacia muchos años que no me integraba con nada vía SOAP usando el lenguaje de programación PHP. Recuerdo cuando te lo tenias que hacer tu todo. Bueno, pues en un proyecto en el que he trabajado esta semana he tenido que testear unos servicios SOAP y decidí hacerlo en PHP. Y en las últimas versiones de PHP esto se ha vuelto muy fácil.

Lo primero es configurar el cliente mandándole la ruta donde esta publicado el servicio, en este caso, una cosa así:

$client = new SoapClient("http://<host-servidor>/webservice/services/ControlAssistencia?wsdl",array('trace' => 1));

Y una vez configurado el cliente simplemente podemos hacer llamadas al servicio como si fueran métodos del objeto cliente(Super fácil):

$alumnos=$client->getAlumnes(array(		
			"dataInicial"=>"12052016",
			"dataFinal"=>"12052016",
			"rutaId"=>"6",
			"ruta"=>"anada",
			"cursAcademic"=>"93",
			));

print_r( $alumnos );

En fin, espero que os sea útil.

Comments

One Response to “Integraciones SOAP en PHP, super fácil”
  1. Josep Comas says:

    // Te dejo algunas funciones interesantes para listar funciones disponibles y depurar
    // Y si SOAP nos da algun problema podemos utilizar directamente CURL y enviar el fichero xml correspondiente a la peticion

    $client = new SoapClient(“https://www.servidor.com/calls.asmx?WSDL”,
    array( ‘location’ => “https://www.servidor.com/calls.asmx”, ‘trace’ => true));

    // Listar funciones SOAP disponibles:
    var_dump($client->__getFunctions());

    // Listar tipos SOAP de las funciones:
    var_dump($client->__getTypes());

    // Con la opcion trace podemos obtener las cabeceras de envio y respuesta
    echo “Request:\n” . $client->__getLastRequest() . “\n”;
    echo “Request headers:\n” . $client->__getLastRequestHeaders() . “\n”;

    echo “Response:\n” . $client->__getLastResponse() . “\n\n”;
    echo “Response headers:\n” . $client->__getLastResponseHeaders() . “\n”;

Leave a Reply

© Albert Coronado Calzada