Read the English version of this post in http://phpsblog.agustinvillalba.com/using-nusoap-in-codeigniter
Hoy quiero hablar de la inclusión de la librería PHP NuSOAP en el framework de desarrollo CodeIgniter, dado que hace unos días me vi en la necesidad de realizar esta integración. En este artículo me centraré en la integración de la librería para consumir servicios web ofrecidos por un sitio externo a nosotros.
Hoy quiero hablar de la inclusión de la librería PHP NuSOAP en el framework de desarrollo CodeIgniter, dado que hace unos días me vi en la necesidad de realizar esta integración. En este artículo me centraré en la integración de la librería para consumir servicios web ofrecidos por un sitio externo a nosotros.
1. ¿Qué es NuSOAP?
Pero antes echemos un vistazo a ojo de pájaro qué es y para qué sirve es librería NuSOAP. Esta utilísima librería con uso muy extendido en el desarrollo web es un kit de herramientas (ToolKit) para desarrollar Web Services bajo el lenguaje PHP. Está compuesto por una serie de clases que nos harán mucho más fácil el desarrollo de Web Services. Provee soporte para el desarrollo de clientes (aquellos que consumen los Web Services) y de servidores (aquellos que los proveen). NuSOAP está basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1. Aunque no es el único, dado que existen más herramientas de este tipo, podría decirse que esta es de las mejores y por tanto, de las más utilizadas en el desarrollo web.
2. Integrando NuSOAP en CodeIgniter
Una vez que ya sabemos qué es NuSOAP, pasamos a integrarla en nuestro framework de desarrollo. Lo primero será descargarnos la librería, la descomprimimos y la incluimos en el directorio system/application/libraries de nuestro framework CodeIgniter. Con esto ya tenemos todo listo para poder pasar al siguiente paso: realizar la integración.
La forma más cómoda de integrar esta librería en CodeIgniter es creando nuestra propia "pseudo" librería de CodeIgniter la cual a su vez llama y permite el uso de la verdadera librería NuSOAP que nos hemos bajado previamente. Digo "pseudo" porque realmente lo único que haremos será una interfaz de comunicación entre los controladores de nuestra aplicación y la librería NuSOAP en sí misma. Pasamos a desarrollar nuestra propia librería CodeIgniter, para ello creamos un nuevo archivo llamado nuSoap_lib.php (o como ustedes quieran llamarlo, el nombre sólo depende de su imaginación) dentro del directorio /system/application/libraries, al mismo nivel que el directorio que contiene a la librería NuSOAP.
Dentro de nuSoap_lib.php introducimos el siguiente código:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class nuSoap_lib{ function Nusoap_lib() { require_once(BASEPATH.'libraries/NuSOAP/lib/nusoap'.EXT); } } ?>
Con esto ya tenemos creada nuestra "pseudo" librería de NuSOAP, a partir de ahora ya podemos utilizarla desde nuestros controladores. Para ello hemos de introducir el siguiente código en nuestro controlador para llamar a la librería nuSoap:
class Client extends Controller { function __construct() { parent::Controller(); $this->load->library("nuSoap_lib"); } function index() { $this->nusoap_client = new soapclient("http://url.servidor.soap"); if($this->nusoap_client->fault) { $text = 'Error: '.$this->nusoap_client->fault; } else { if ($this->nusoap_client->getError()) { $text = 'Error: '.$this->nusoap_client->getError(); } else { $row = $this->nusoap_client->call( 'funcionEnElServidor', array(parametros) ); ... } } }
De esta forma, podremos consumir servicios SOAP desde nuestra aplicación implementada con CodeIgniter. Como ven, es bastante sencillo y muy cómodo. Una razón más para seguir utilizando este sencillo y potentísimo framework que es CodeIgniter.
Read the English version of this post in http://phpsblog.agustinvillalba.com/using-nusoap-in-codeigniter
Read the English version of this post in http://phpsblog.agustinvillalba.com/using-nusoap-in-codeigniter