![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr4Jf39k1hRncwZ_w2zYHkF_XnNPoD3Xm5TB2C9P9tUe5AUzin3AVRe54d3_rF_4bq5XFGmzPIQ0qEE_tbXhgHPQwnKedwrcHAIv9s9LhDsIkp0om4v_uHHVZXxH3zOdSdaliIAvGefPa-/s320/nusoap1.jpg)
Requisitos:
- Windows XP, o Linux
- Apache 2 instalado
- PHP 5 instalado
- CakePhp 1.2, instalado
- MySQL 5, opcional
Objetivo:
Implementar un mecanismo para publicar y/o consumir servicios web.
Instalación:
- Copiar esta version hackeada de nusoap a /vendors/nusoap/nusoap.php
- Copiar este controlador de los servicios web a /vendors/nusoap/web_services_controller.php
- Copiar este componente a /app/controllers/components/soap.php
Uso:
Creando el Servidor
Los servicios estarán publicados en el url http://my_host/my_cake/wsuserservices
(escriba la url en el web browser para ver la información del servicio web)
En el controlador...
App::import('Vendor', 'nusoap/web_services_controller');
class WsuserservicesController extends WebServicesController {
var $name = 'Wsuserservices';
var $uses = null;
var $api = array(
'add'=> array (
'doc' => 'crea un usuario',
'input' => array(
'id' => 'xsd:integer',
'name' => 'xsd:string'
)
),
'name' => array(
'doc' => 'obtiene el nombre de un usuario',
'input' => array(
'id' => 'xsd:integer'
)
'output' => array(
'return' => 'xsd:string'
)
)
);
function add($id, $name) {
$data['User']['id'] = $id;
$data['User']['name'] = $name;
$this->User->save($data);
}
function name($id) {
$this->User->id=$id;
$data=$this->User->read();
return $data[0]['User']['name'];
}
}
Creando el cliente
En el controlador...
class WsclientservicesController extends AppController {
var $name = 'Wsclientservices';
var $components = array('Soap');
var $uses = null;
function getUserName() {
$url = "http://my_host/my_cake/wsuserservices";
$func = 'name';
$param=array(’id’=>’34′);
$name=$this->soap->client($url,$func,$param);
$this->set(’name’,$name);
}
Listo!!!
Enlace Original:
-
No hay comentarios:
Publicar un comentario