En pocas palabras, encapsular el WS en un controlador, que no tiene
vista ni modelo, para esto te aconsejo que utilices la versión 0.4.x,
porque la 0.5 tiene problemas para retornar el valor, sólo funciona
bien si devuelves una vista.
--
Lic. Rafael Rodríguez Puente
<?php
$server = new SoapServer(null, array('uri' => "http://10.7.25.1/04/ws/"));
$server->setClass("WSController");
$server->handle();
class WSController extends ApplicationController{
public function index(){ }
function autenticar($login,$password){
$this->auth = new Auth('class: Usuarios',"login:
$login","password: $password");
if ($this->auth->authenticate()) {
$identity = $this->auth->get_identity();
return array('id'=>$identity['id'],'nombre'=>$identity['nombre']);
}
return 0;
}
}
?>
y ya puedes consumirlo, ej:
$x = new SoapClient(NULL,array('location'=>'http://10.7.25.1/04/ws/',
'uri'=>'http://10.7.25.1/04/ws',"trace"=>1, "exceptions"=>0));
$a = $x->__soapCall("autenticar", array('pepe', sha1('pepe')));
ó
$a = $x->autenticar('pepe',sha1('pepe'));
Saludos kumbieros
Estoy teniendo un problema singular con el código de los caracteres especiales de nuestro alfabeto en las ventanas de Prototype (Prototype Windows, pág 159 del libro de Kumbia). Es decir que en vez de tildes y eñes me salen unos molestos signos de interrogación y otros signos extraños de los que no quiero ni acordarme.
Esto sucede cuando cargo nombres, direcciones, etc., de mi BD que tienen tildes y demás. Lo extraño es que en las páginas cargadas normalmente (léase vistas de una acción), donde cargo igualmente esos nombres de la BD, me salen a la perfección. Así que intuyo que sea un problema de codificación de JavaScript, pero todavía no he dado con él.
Les comento ahora mis codificaciones para si a alguien le descarga al tema:
En la BD (MySQL)
1. La BD como tal la tengo codificada a Latin1
2. Cada tabla como sigue:
a. Table Type: InnoDB
b. Character Set: latin1 – cp1252 West European
c. Collation: latin1_spanish_ci
En el index.phtml principal que esta en la carpeta views, en el header la codificación es la siguiente:
<meta http-equiv='Content-type' content='text/html; charset=iso8859-1' />
Espero ayuda..
Saludos desde Cuba.
<meta http-equiv ='Content-type' content='text/html; charset=iso8859-1' />