Web Service Toba

Hola, estoy trabajando con WebService en Pilaga Desarrollo (version toba 2.3) y una aplicacion propia en Toba 2.5, al realizar el webservice ejemplo que brindan uds. tengo un error.

En Pilaga cree un nuevo Web Service con el siguiente operacion:


function op__eco(toba_servicio_web_mensaje $mensaje)
     {
          $array = $mensaje->get_array();
          $payload = array("Clave: {$array['clave']}. Valor: {$array['valor']}");
          return new toba_servicio_web_mensaje($payload);
      }

Cuando entro a …/pilagad/2.1/servicios.php/Prueba ver los servicios lo veo y veo la op.

Del lado de nuestra app. Lo di de alta en Datos Web Service. Seleccionando SOAP, el nombre Prueba y la direccion correcta.

Cree una nueva operacion y el codigo de la misma es (en el CI):

    function ini()
    {
        //--1- Arma el mensaje
        $opciones = array('action' => 'eco');    //En action se detalla la operacion a invocarse
        $mensaje = new toba_servicio_web_mensaje(array('clave' => 'Clave', 'valor' => 'Valor'), $opciones);
    
        //--2- Arma el servicio
        $opciones = array();
        $servicio = toba::servicio_web('Prueba', $opciones);
    
        //-- 3 - Muestra la respuesta
        $respuesta = $servicio->request($mensaje);
        toba::notificacion()->info($respuesta->get_payload());
    }

Pero la notificacion es la siguiente: (adj img)
C0MwWGpEurpovdw7PU1q8a2wnS/o62cuXvgjL41Lj/j4GeOdgMIaZUj5azT2RPN2fF8RlCTyI7oX+ReWNEny+UfNvigYg4+f+AqIcN3Ya8Ildc+aLcEkNWpYdUrt0s8oTmMVhnD7GtlD9+ubCUrXt3yl+ddMhB8349Bf7ttC+49ilzTqjPC5CJScHAcPfgHA76+uL3OIOv/uqVTbm1PBZf2CrOflUPvXm0ro6rjZnWQPgtWMm54yeP1pNobiNSaPRQvY/aljsLKC8gmaAY/R55grAMk7mTIGHyXCFBp6+CFyIpbUfCKJIHGVbOPIRbl2BpLdr/YCx2W0K70zL2Uu1EfSanUd2V4Upx4wS6R09dLgFF69MUfzFbNQJYQjBgazgbsrXY/6zdP4d3SluPiVQhsLBYVE02JAV35nUT2Inpc=

Que puede ser? gracias.

Saludos.

AGustin


Captura de pantalla de 2014-06-12 10:38:34.png

Captura de pantalla de 2014-06-12 10:38:34.png

Hola Agustin,

es raro que te devuelva el payload encriptado, te hago una consulta… en el lado servidor, tenes configurado correctamente que el servicio no sea firmado y que este activo?.

Saludos

Exactamente eran los certificados!

Por otro lado cuando envio el mensaje para enviarle por ejemplo un dato lo hago de esta manera:

    function ini()
    {
            $dato["continente"] = "EU";
            $dato = array( $dato );

            $opciones = array('action' => 'datos');
            $mensaje = new toba_servicio_web_mensaje($dato, $opciones);
        
            //--2- Arma el servicio
            $opciones = array();
            $servicio = toba::servicio_web('Prueba', $opciones);

            //-- 3 - Muestra la respuesta
            $respuesta = $servicio->request($mensaje);
            $texto =  $respuesta->get_payload();
            ei_arbol(array($texto));
        }

y del lado del servidor tengo lo siguiente:

function op__datos(toba_servicio_web_mensaje $mensaje)
    {
        // Obtengo los datos enviados
        $datos = $mensaje->get_array();
        
            // Consulta
            $sql = "SELECT *
                    FROM anx_paises as a
                    WHERE  a.continente = ".quote($datos['continente']).";";
            $rs = consultar_fuente($sql);
            
                return new toba_servicio_web_mensaje($rs);
    }

Pero no me esta devolviendo nada y tengo varios paises cargdos en el continente EU.

Estoy haciendo algo mal?

Gracias!

Hola Agustin,

lo que te recomiendo es que verifiques bien que le esta llegando al metodo op__datos… y de hecho no estaria mal que loguearas la SQL, para ver si la misma termina mal formada o no, al menos para poder determinar si es un problema del transporte de los datos o si es que la consulta como queda armada, efectivamente no devuelve registros.

Saludos

Hola Richard, En el toba usuarios de nuestro proyecto al realizar el test de configuracion del Web Service me arroja el siguiente error adjunto.
Las direcciones estan ok y los certificados tambien. QUe puede ser?

Gracias.

AGustin


Captura de pantalla de 2014-07-03 10:10:26.png

Captura de pantalla de 2014-07-03 10:10:26.png

Hola Agustin,

eso significa que la libreria WSF no quedo compilada correctamente, digamos… se compilo… pero en runtime no funciona como deberia.

Fijate de seguir los pasos de esta pagina, sino no funciona correctamente.

Saludos

Richard, sucede que hace un dia funcionaba y estuvimos agregando operaciones, y volvimos a generar certificados porque teniamos el error que le pasaba a Paola Vidal de No Response y ahora sucede esto, por lo que la libreria si esta correctamente instalada. Adjunto error al querer ejecutar la op. de nuestro proyecto.

gracias!!


Captura de pantalla de 2014-07-03 12:48:15.png

Captura de pantalla de 2014-07-03 12:48:15.png

Solucionado, tenia errores en el codigo del servicio web, lo encontre en el log mapuche!

GRacias!!

Ok Agustin, barbaro que lo encontraron… se me paso por alto que el error partia de su archivo, sino le hubiera apuntado a eso.

Saludos