Consumir web services con nusoap
De KumbiaPHP Framework Wiki
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
class PersonaController extends AppController {
public function getws() {
View::template(null);//quitamos el template de la vista
Load::lib('nusoap');//cargamos la libreria
$clientns=new nusoap_client('http://cajas.sanluis.gov.ar/SERVICES/service.asmx?wsdl', 'wsdl');
//creamos la instancia del cliente nusoap, pasamos los argumentos el wsdl del WS(web-services), segundo parametro el string 'wsdl' o true.
$param = array('doc' => Input::request('doc'));
//yo envio el numero de documento con un formulario asi que lo recibo en el controlador
$datos = $clientns->call('getAfiliadoData', $param);//lamamos al metodo y pasamos los parametros
$this->datos=$datos;//paso el resultado a la vista
}
}
Crear la vista
echo $datos['getAfiliadoDataResult']['string'];
// todos los metodos (getAfiliadoData) tienen un metodo igual con la palabra "Result" (getAfiliadoDataResult)
//al final, y el [string] es todo el texto que retorna
// 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.