Consumir web services con nusoap

De KumbiaPHP Framework Wiki
Saltar a: navegación, buscar

En esta pagina vamos a ver un pequeño ejemplo de como consumir un web services soap con nusoap, no se si es la forma correcta o si existen otros métodos mas sencillo o mas eficaces, pero para mi proyecto me sirvió y capaz que a alguno le sirve o le ayuda a quitarse algunas dudas.


Lo primero es descargar la libreria nusoap [1]

Colocar el archivo nusoap.php en la carpeta del proyecto "default/app/libs"

Crear el Controlador con el Metodo para llamar el WS[editar]

  1. class PersonaController extends AppController {
  2.  
  3. public function getws() {
  4.     View::template(null);//quitamos el template de la vista
  5.     Load::lib('nusoap');//cargamos la libreria
  6.  
  7.     $clientns=new nusoap_client('http://cajas.sanluis.gov.ar/SERVICES/service.asmx?wsdl', 'wsdl');
  8.     //creamos la instancia del cliente nusoap, pasamos los argumentos el wsdl del WS(web-services), segundo parametro el string 'wsdl' o true.
  9.  
  10.     $param = array('doc' => Input::request('doc'));
  11.     //yo envio el numero de documento con un formulario asi que lo recibo en el controlador
  12.  
  13.     $datos = $clientns->call('getAfiliadoData', $param);//lamamos al metodo y pasamos los parametros
  14.     $this->datos=$datos;//paso el resultado a la vista
  15.  
  16. }
  17. }

Crear la vista[editar]

  1. echo $datos['getAfiliadoDataResult']['string'];
  2. // todos los metodos (getAfiliadoData) tienen un metodo igual con la palabra "Result" (getAfiliadoDataResult) 
  3. //al final, y el [string] es todo el texto que retorna
  4. // de aqui en mas uds manejan el resultado como a uds les parezca mejor

eso es todo, con eso debería de funcionar el llamado a los WS... a mi me esta funcionando, es la primera vez que utilizo esta librería.