Si el portal web desde donde quiere acceder a
nuestro Servicio Web esta desarrollado en PHP, tiene qie seguir los siguientes
pasos:
Para el ejemplo en PHP Utilizaremos el componente “NuSOAP”.
NuSOAP es un kit de herramientas (ToolKit) para desarrollar Web Services bajo
el lenguaje PHP. Esta 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 esta basado en SOAP 1.1, WSDL 1.1 y HTTP 1.0/1.1.
Para poder Utilizar NuSOAP, es necesario como mínimo contar con la versión 4
del PHP, y para un mejor desenvolvimiento APACHE 2.
Teniendo en cuenta todos estos requerimientos debemos seguir lo siguiente:
Debemos incluir la librería NuSOAP. En este ejemplo asumimos que el directorio
donde se encuentra el archivo nusoap.php esta ubicado en el subdirectorio lib
(a partir de donde esta nuestro script).
require_once(“lib/nusoap.php”); Debemos
instanciar la clase soapclient, ya que en esta ocasión utilizaremos solo el
cliente que nos provee NuSOAP. Los parámetros enviados son la ubicación del
documento WSDL y true como segundo parametro (este último parámetro indica que
el primer documento es un WSDL).
$oSoapClient=newsoapclient('http://www.iiap.org.pe/Bionegocios/ServicioWeb/DatosGenerales.asmx?wsdl',
true); Definimos un array con los parámetros que nuestro
servicio web debe recibir. En el caso nuestro dependiendo del componente al que
deseemos hacer referencia deberemos mandar los siguientes parámetros: Nombre
Científico, Nombre Común y Fecha.
$aParametros = array("vNombreCientifico" => "Nombre");
Llamamos al método call del objeto soapclient. Al mismo le pasamos como
parámetro el nombre del método que queremos ejecutar en el web service
(ObtenerTecnologias y/o ObtenerPrecios) y los parámetros ($aParametros). En
nuestra variable $aRespuesta tenemos un array con la respuesta del Web Service.
$aRespuesta = $oSoapClient->call("ObtenerTecnologias",
$aParametros); Y con esto ya efectuamos nuestro acceso al
servicio web. |