No response Web Service

Buenos días, estoy teniendo un inconveniente que es el siguiente, intentando escribir web services, basandome en un funcional, lo primero que hago fue intentar realizar el clásico Eco y directamente el nuevo servicio me da error de

Error , NO Response Received

Lo primeor que intento ver es el log de toba y dice lo siguiente

 toba_error_comunicacion: Error , NO Response Received <ul><li>Opciones: <pre>Array ( [to] => http://localhost/kilme/0.0/servicios.php/serv_cierre [useWSA] => 0 ) </pre><li>Headers Respuesta: <pre>Array ( [Date] => Mon, 27 Jan 2014 12:56:47 GMT [Server] => Apache/2.2.22 (Ubuntu) [X-Powered-By] => PHP/5.3.10-1ubuntu3.9 [Set-Cookie] => TOBA_SESSID=o4r9fmvnb9odltnp2op726i0t1; path=/ [Expires] => Thu, 19 Nov 1981 08:52:00 GMT [Cache-Control] => no-store, no-cache, must-revalidate, post-check=0, pre-check=0 [Pragma] => no-cache [Vary] => Accept-Encoding [Content-Length] => 15 [Content-Type] => text/html ) </pre></ul> 

Mirando el log de Wsf cliente, me encuentro con un log bastante extenso donde lo mas descriptivo y relacionado con el problema considero que es:

[
Mon Jan 27 09:56:47 2014] [error] /home/mramos/Descargas/wso2-wsf-php-src-2.1.0/src/wsf_client.c(1696) [WSF/PHP] Response Payload NULL( Error number and code) 

Por otro lado intente verificar que no hayan indices inexistentes en el array devuelto en el php (como se decía en una consulta sobre web service anterior en el foto) y devolví directamente un array(‘texto’ => ‘Hola Mundo’), para no pasar por los indices del array, y esto me devuelve el mismo inconveniente.

Me da la impresión que ni siquiera está llegando al Web Service, ya que si utilizo otro web service ya definido con anterioridad funciona de forma correcta, mi forma de consumirlo es la siguiente:



<?php
        //--1- Arma el mensaje
        $opciones = array('action' => 'eco');    //En action se detalla la operacion a invocarse
        $mensaje = new toba_servicio_web_mensaje(array (
				'texto' => 'Hola Mundo' 
		), $opciones);
    
        //--2- Arma el servicio
        $opciones = array();
        $servicio = toba::servicio_web('kilme_cierre', $opciones);
    
        //-- 3 - Muestra la respuesta
        $respuesta = $servicio->request($mensaje);
        toba::notificacion()->info($respuesta->get_payload());
?>


Si donde dice kilme_cierre utilizo cualquier otro web service que tenga la acción Eco, funciona de forma correcta.

Realmente me dirijo al foro porque ya no se por donde continuar.

Desde ya muchas gracias.

Hola Martin,

el tema con web services es que es bastante molesto para debuggear.

De tu mensaje rescato que la libreria WSF pareciera estar funcionando correctamente ya que tenes otro web service el cual funciona sin problemas.

  • Primero que nada, en que version de toba te encontras trabajando?.

  • Lo segundo seria, verificar que el WS se encuentra activo y correctamente configurado (ya sea con los certificados o sin la seguridad).

  • Terceramente, ver la definicion del web service puntualmente y sus opciones de seguridad, analizando ademas los pedidos de pagina del log de toba para ver si es que se encuentra algun detalle pasado por alto.

Saludos

Richard, muchas gracias por tu respuesta.

En primer lugar estoy trabajando con la versión 2.4 de Toba.

En mis primeras pruebas no estoy utilizando seguridad en los web service.

En el array de opciones utilizo

 'seguro' => false 

, podría adjuntarte si es que te parece la definición del web service.

Respecto a si está activo, ahí lograste ponerme en duda, no he leído como activarlo, ¿como puedo verificar eso?.

Con respecto al Log de toba, lo único que veo es lo que te envié anteriormente, no hay otro detalle extra mas que la Traza misma.

Para escribirlo me base en el webservice del proyecto toba_referencia que no posee seguridad, y el mismo funciona correctamente. Puede que sea lo que vos indicás de activarlo, pero no he leido nada al respecto.

Nuevamente muchas gracias de antemano.

Muchas gracias Richard por tu ayuda, pero estuve revisando todas las configuraciones del webservice en cuestión, y al parecer no estaba correcta la definición del mismo. No esta llegando siquiera a llamar al php que correspondía. Ahora está funcionando de forma correcta. Muchas gracias por tu tiempo.

Hola Martin,

te iba a decir que usaras toba_usuarios para realizar la configuracion, activacion y prueba del WS. De hecho en toba 2.4, la clase de WS de toba ya tiene un metodo echo… el cual se usa para probar conectividad y verificar asi que el mismo es accesible desde toba_usuarios.

En fin, me alegro que lo hayas resuelto.

Saludos