Error al ejecutar web service - NO Response Received

Entorno de desarrollo: Apache 2.2.17 php 5.2.17 postgres 8.3 toba 1.5

Tomé como base toba_referencia y traté de hacer mi propio ws, pero al correrlo me dice que no recibe respuesta:
En el formulario dice:

Se han encontrado los siguientes problemas:
Error , NO Response Received Más info…
Error , NO Response Received

* Opciones:

  Array
  (
      [to] => http://localhost//becas_sf/1.0/servicios/srv_pwd_data.php
      [useWSA] => 1
      [policy] => WSPolicy Object
          (
              [useUsernameToken] => 1
          )

      [securityToken] => WSSecurityToken Object
          (
              [user] => toba
              [password] => toba
          )

  )

* Headers Respuesta:

  Array
  (
      [Date] => Wed, 16 Mar 2011 13:22:08 GMT
      [Server] => Apache/2.2.17 (Win32) PHP/5.2.17
      [X-Powered-By] => PHP/5.2.17
      [Set-Cookie] => TOBA_SESSID=uoobo3i5grhhpfhn8qs701m3e1; 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
      [Content-Length] => 103
      [Content-Type] => text/html
  )

y en el Log dice:

  1. INSTALACION “C:\toba1.5/instalacion”

  2. Parametros instancia desarrollo: array (

    ‘base’ => ‘toba_1_5’,
    ‘proyectos’ => ‘toba_editor, toba_referencia, toba_usuarios, gme_diu, becas_sf’,
    ‘tipo’ => ‘normal’,
    ‘toba_editor’ =>
    array (
    ‘url’ => ‘/toba_editor/1.5’,
    ),
    ‘toba_referencia’ =>
    array (
    ‘url’ => ‘/toba_referencia/1.5’,
    ),
    ‘toba_usuarios’ =>
    array (
    ‘url’ => ‘/toba_usuarios/1.5’,
    ),
    ‘gme_diu’ =>
    array (
    ‘url’ => ‘/gme_diu/1.0’,
    ),
    ‘becas_sf’ =>
    array (
    ‘url’ => ‘/becas_sf/1.0’,
    ),
    )

  3. INSTANCIA “desarrollo”

  4. Conectando a base ‘toba_1_5’

  5. Parametros de conexion: array (

    ‘motor’ => ‘postgres7’,
    ‘profile’ => ‘localhost’,
    ‘usuario’ => ‘postgres’,
    ‘clave’ => ‘xxxxxxx’,
    ‘base’ => ‘toba_1_5’,
    ‘puerto’ => ‘5432’,
    ‘encoding’ => ‘LATIN1’,
    ‘schema’ => ‘desarrollo’,
    )

  6. PROYECTO “becas_sf”

  7. PROYECTO “becas_sf”

  8. Iniciando componentes…

  9. componente(3000090): Pantalla de eventos: ‘pant_inicial’

  10. Procesando eventos…

  11. componente(3000090): [ inicializar_dependencias ]

    array (
    0 => ‘form_datos’,
    )

  12. componente(3000090): [ registrar_evento ] ‘enviar’ → [ evt__form_datos__enviar ]

    array (
    0 =>
    array (
    ‘tipo_doc’ => ‘0’,
    ‘nro_doc’ => ‘00’,
    ‘apellidos’ => ‘00’,
    ‘nombres’ => ‘00’,
    ‘sexo’ => ‘0’,
    ‘calidad’ => NULL,
    ‘ua’ => NULL,
    ‘carrera’ => NULL,
    ),
    )

  13. Invocando servicio servidor. Opciones:
    array (

    ‘to’ => ‘http://localhost//becas_sf/1.0/servicios/srv_pwd_data.php’,
    ‘useWSA’ => true,
    ‘policy’ =>
    WSPolicy::__set_state(array(
    ‘useUsernameToken’ => true,
    )),
    ‘securityToken’ =>
    WSSecurityToken::__set_state(array(
    ‘user’ => ‘toba’,
    ‘password’ => ‘toba’,
    )),
    )

  14. toba_error_comunicacion: Error , NO Response Received

    • Opciones:
      Array ( [to] => http://localhost//becas_sf/1.0/servicios/srv_pwd_data.php [useWSA] => 1 [policy] => WSPolicy Object ( [useUsernameToken] => 1 ) [securityToken] => WSSecurityToken Object ( [user] => toba [password] => toba ) ) 
    • Headers Respuesta:
      Array ( [Date] => Wed, 16 Mar 2011 12:55:06 GMT [Server] => Apache/2.2.17 (Win32) PHP/5.2.17 [X-Powered-By] => PHP/5.2.17 [Set-Cookie] => TOBA_SESSID=s2qffcqb18n7ieab4a8oj8rfi5; 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 [Content-Length] => 103 [Content-Type] => text/html ) 
    [trAZA]exception ‘toba_error_comunicacion’ with message ‘Error , NO Response Received’ in C:\toba1.5\php\nucleo\lib\toba_servicio_web_cliente.php:72 Stack trace: #0 C:\toba1.5\proyectos\becas_sf\php\servicios\ci_form_datos.php(56): toba_servicio_web_cliente->request(Object(toba_servicio_web_mensaje)) #1 [internal function]: ci_form_datos->evt__form_datos__enviar(Array) #2 C:\toba1.5\php\nucleo\componentes\interface\toba_ci.php(321): call_user_func_array(Array, Array) #3 [internal function]: toba_ci->registrar_evento(‘form_datos’, ‘enviar’, Array) #4 C:\toba1.5\php\nucleo\componentes\interface\toba_ei.php(278): call_user_func_array(Array, Array) #5 C:\toba1.5\php\nucleo\componentes\interface\toba_ei_formulario.php(309): toba_ei->reportar_evento(‘enviar’, Array) #6 C:\toba1.5\php\nucleo\componentes\interface\toba_ci.php(201): toba_ei_formulario->disparar_eventos() #7 C:\toba1.5\php\nucleo\toba_solicitud_web.php(135): toba_ci->disparar_eventos() #8 C:\toba1.5\php\nucleo\toba_solicitud_web.php(55): toba_solicitud_web->procesar_eventos() #9 C:\toba1.5\php\nucleo\toba_nucleo.php(60): toba_solicitud_web->procesar() #10 C:\toba1.5\proyectos\becas_sf\www\aplicacion.php(24): toba_nucleo->acceso_web() #11 {main}

  15. Mensaje a usuario: Error , NO Response Received

  16. Configurando dependencias para responder al servicio…

  17. componente(3000090): Pantalla de servicio: ‘pant_inicial’

  18. componente(3000090): [ callback ] ‘conf__pant_inicial’ no fue atrapado

  19. componente(3000090): [ callback ] ‘conf__form_datos’

  20. Respondiendo al servicio__generar_html…

Hay muchas modificaciones que hice tratando de modificar el ejemplo para que apunte a mi sitio, lo que me llama la atención es que toba_referencia hace cita a lugares del dominio siu, ej:
en la pestaña de datos->Servicios Web accesibles->en el servicio web seguridad_password, en la url dice :http://desarrollos.siu.edu.ar/toba_referencia_trunk/servicios.php/serv_password, y por lo que se el sitio fue movido, sin embargo el sercivio parece funcionar igual.

Espero alguna guia para solucionar este error
Gracias
Oscar

Hola Oscar,

disculpa que me quedo traspapelado el post, me podrias subir el codigo del item que atiende el servicio web?.. tambien de paso el del item que lo invoca.

Saludos

Richard te paso el codigo
// cliente


<?php
class ci_form_datos extends toba_ci
{
	protected $s__echo;
	protected $s__datos_password;
	protected $s__adjunto;
	protected $adjunto_respuesta;
	protected $path_servicio;
	protected $datos_persona;

	/**
	 * Se ejecuta al inicio de todos los request en donde participa el componente
	 */
	function ini()
	{
		if (! extension_loaded('wsf')) {
			toba::notificacion()->error("No se encuentra instalada la extensión wsf de php.".
			" <a href='http://toba.siu.edu.ar/trac/toba/wiki/Referencia/ServiciosWeb'>Ver documentación</a>");
		}
	}

	//-----------------------------------------------------------------------------------
	//---- form_datos -------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	/**
	 * Atrapa la interacción del usuario con el botón asociado
	 * @param array $datos Estado del componente al momento de ejecutar el evento. El formato es el mismo que en la carga de la configuración
	 */
 	function conf__form_datos(toba_ei_formulario $form)
	{
		//$this->path_servicio = '/servicios/srv_pwd_data.php';
		if (isset($this->datos_persona)) {
			$form->set_datos($this->datos_persona);
		}
	}

	function evt__form_datos__enviar($datos)
	{
		$this->datos_persona = $datos;
		ei_arbol($datos);
				
		//--1- Construye el cliente usando seguridad por password
	    $policy = new WSPolicy(array('security' => array('useUsernameToken' => true)));
	    $security_token = new WSSecurityToken(array('user' => 'toba', 'password' => 'toba'));
    	$opciones = array(
    		    		'to' => 'http://localhost/becas_sf/1.0/servicios.php/srv_pwd_data',    	
    					'policy' => $policy, 
    					'securityToken' => $security_token
    	);
    	$servicio = toba::servicio_web('servidor', $opciones);
    	
    	//--2- busca la persona 
    	$opciones = array('action' => 'http://localhost/becas_sf/1.0/servicios/persona_ver');
    	$mensaje = new toba_servicio_web_mensaje($this->datos_persona, $opciones);
    	$respuesta = $servicio->request($mensaje);
		$id_rs = $respuesta->get_array();
    	$this->datos_persona['apellido'] = $id_rs['apellido'];		

   	   	//--5- Muestra la respuesta
    	toba::notificacion()->info("persona ".$this->datos_persona['apellido']);    	
	}
}
?>

//servidor


<?php
class srv_pwd_data extends toba_servicio_web
{
	
	function get_opciones()
	{
		$policy = new WSPolicy(array(
								"security" => array(
									"useUsernameToken" => true,
									"includeTimestamp" => true
									)	
								)
							);
		$security = new WSSecurityToken(array(
											"user" => "toba",
											"password" => "toba",
											"ttl" => 300
											)
										);		

		return array(
			"reliable"			=> true,		
            "policy" 			=> $policy,
            "securityToken"		=> $security,
             'actions' => array(
					"http://localhost/becas_sf/1.0/servicios/aplanar_array"			=> "aplanar_array",
					"http://localhost/becas_sf/1.0/servicios/persona_ver"			=> "persona_ver",
				),
		);
	}

	/**
	 * Responde exactamente con la misma cadena enviada
	 * @param string $texto texto a repetir
	 * (maps to the xs:string XML schema type )
	 * @return string $texto total price
	 *(maps to the xs:string XML schema type )
	 */		
	function op__aplanar_array(toba_servicio_web_mensaje $mensaje) 
	{
		//-1-- Toma el arreglo y extrae los numeros
		$arreglo = $mensaje->get_array();
		$salida = array();
		$continuar = true;
		$i = 0;
		do {
			$salida[] = $arreglo['valor'];
			if (isset($arreglo['hijo'])) {
				$arreglo = $arreglo['hijo'];
			} else {
				$continuar = false;
			}	
			$i++;		
		} while($continuar);
		

		//-2- Envia el arreglo resultante
	    return new toba_servicio_web_mensaje($salida);
	}
	
	
	function op__persona_ver(toba_servicio_web_mensaje $mensaje) 
	{
		//-- Busca la persona
		$datos = $mensaje->get_array();
		$tipo_doc = quote($datos['tipo_doc']);
		$nro_doc = quote($datos['nro_doc']);
		$apellido= quote($datos['apellido']);
		$sql = "SELECT * FROM regulares WHERE and nro_doc=($nro_doc)";
		$result = toba::db()->ejecutar($sql);
		$salida = new toba_servicio_web_mensaje($nro_doc);
		return $salida;
	}	

}	

?>

Hola Oscar,

bueno finalmente luego de idas y vueltas encontre un post en el foro de WSO2 que me oriento bastante para resolver el problema de la falta de comunicacion (http://wso2.org/forum/thread/11578).

Aparentemente hubo un cambio en las cuestiones de Seguridad y ahora por defecto se espera que el username token este firmado.
Te voy a pedir que hagas unas modificaciones a tu codigo y vemos si sale andando (aca me funciono).


<?php
function get_opciones()
	{
                $xml_policy = file_get_contents('policy.xml');      //La ruta varia de acuerdo a donde dejes este archivo
		$policy = new WSPolicy($xml_policy);                  //podes usar toba::proyecto()->get_path_php() para achicar el tamaño de la ruta completa

		$security = new WSSecurityToken(array(
											"user" => "toba",
											"password" => "toba",
											"ttl" => 300
											)
										);		

		return array(
			"reliable"			=> true,		
                        "policy" 			=> $policy,
                        "securityToken"		=> $security,
                        'actions' => array(
					"http://localhost/becas_sf/1.0/servicios/aplanar_array"			=> "aplanar_array",
					"http://localhost/becas_sf/1.0/servicios/persona_ver"			=> "persona_ver",
				),
		);
	}
?>

Del lado cliente deberias cambiar tambien el contenido para WSPolicy.
Te adjunto el archivo en cuestion. Vas a tener que renombrarlo x cuestiones del foro.

Saludos


Ric
En toba me sigue mostrando el mismo error “No response …”

viendo el log de wsf tengo esto:
[Fri Apr 01 11:37:19 2011] [error] …..\src\util\rampart_engine.c(404) [rampart][rampart_engine] Policy is NULL.
[Fri Apr 01 11:37:19 2011] [error] …..\src\util\rampart_engine.c(99) [rampart][rampart_engine] Policy creation failed.
[Fri Apr 01 11:37:19 2011] [error] …..\src\handlers\rampart_out_handler.c(126) [rampart][rampart_out_handler] ramaprt_context creation failed.
[Fri Apr 01 11:37:19 2011] [error] …..\src\core\engine\phase.c(233) Handler RampartOutHandler invoke failed within phase Security
[Fri Apr 01 11:37:19 2011] [error] …..\src\core\engine\engine.c(696) Invoking phase Security failed
[Fri Apr 01 11:37:19 2011] [error] wsf_client.c(1649) [WSF/PHP] Response Payload NULL( Error number and code) => : 2 :: NULL parameter was passed when a non NULL parameter was expected

El proble es que estoy usando la version 2.0.2 pq la 2.1.0 no funciona en el entorno que tengo acá.
Estoy buscando el error en internet pero no encuentro la solución…

Saludos

Oscar,

fijate que este tomando realmente el archivo xml, yo tuve que colocar la ruta fisica completa para que lo lea.
Fijate que dice ‘Policy is NULL’ asi que no esta tomando el contenido del archivo.

Podes usar algo asi para ver si esta encontrando el archivo (el path tenes que adecuarlo al tuyo):


 var_dump(toba_manejador_archivos::existe_archivo_en_path(toba::proyecto()->get_path_php().'/servicios/policy.xml'));
 $supa_policy = file_get_contents(toba::proyecto()->get_path_php().'/servicios/policy.xml');

Lo otro que te quiero consultar (y que se me acaba de ocurrir) es lo siguiente:

En el archivo toba.conf, para el alias del proyecto tuyo tienen definida la variabla de entorno toba_instancia?, deberias ver algo asi en el alias:


<Files aplicacion.php>
        SetEnv TOBA_INSTANCIA   "desarrollo"
</Files>
<Files servicios.php>
        SetEnv TOBA_INSTANCIA   "desarrollo"
</Files>

Tiene que haber uno por cada punto de acceso que tenga el proyecto. Sin eso, lo que va a recibir al hacer el pedido de servicio va a ser un error.

Saludos

en la carpeta www del proyecto tengo servicios.php, creo que con esto sustituyo la configuración de apache, fijate

// servicios.php


<?php
# apex_proyecto: Proyecto PRIMARIO
define("apex_pa_proyecto",'becas_sf');
define("apex_pa_instancia",'desarrollo');
//--------------------------------------------------------------------------
//------ Invocacion del nucleo del toba ------------------------------------
//--------------------------------------------------------------------------
if (isset($_SERVER['TOBA_DIR'])) {
	$dir = $_SERVER['TOBA_DIR']."/php"; 
	$separador = (substr(PHP_OS, 0, 3) == 'WIN') ? ";.;" : ":.:";
	ini_set("include_path", ini_get("include_path"). $separador . $dir);
	require_once("nucleo/toba_nucleo.php");
	toba_nucleo::instancia()->acceso_servicio();		
} else {
	die("Es necesario definir la variable 'TOBA_DIR' en el archivo de configuracion de apache
			(Utilize la directiva 'SetEnv')");
}
//--------------------------------------------------------------------------
?>

decime si es correcto lo que digo.

Hola Oscar,

el efecto es el mismo, nosotros lo colocábamos en la configuración de apache para no modificar los puntos de acceso pero no hay diferencias.
Probaste con la ruta del archivo xml?

Saludos

Creo que lo está tomando pero mirá lo que me muetra el logger de toba:


Invocando servicio servidor_datos. Opciones:
array (

  'to' => 'http://localhost/becas_sf/1.0/servicios/srv_pwd_data',
  'useWSA' => true,
  'policy' => 
  WSPolicy::__set_state(array(
     'policyXML' => '
		
			
				
					
					
				
				
					
						
							
								
							
						
					
				
			
		
',
  )),
  'securityToken' => 
  WSSecurityToken::__set_state(array(
     'user' => 'toba',
     'password' => 'toba',
  )),
)

toba_error_comunicacion: Error , NO Response Received <ul><li>Opciones: <pre>Array ( [to] => http://localhost/becas_sf/1.0/servicios/srv_pwd_data [useWSA] => 1 [policy] => WSPolicy Object ( [policyXML] => <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding> <wsp:Policy> </wsp:Policy> </sp:TransportBinding> <sp:SignedSupportingTokens> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10 /> </wsp:Policy> </sp:UsernameToken> </wsp:Policy> </sp:SignedSupportingTokens> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> ) [securityToken] => WSSecurityToken Object ( [user] => toba [password] => toba ) ) </pre><li>Headers Respuesta: <pre>Array ( [Date] => Wed, 06 Apr 2011 13:10:20 GMT [Server] => Apache/2.2.17 (Win32) PHP/5.3.6 [X-Powered-By] => PHP/5.3.6 [Set-Cookie] => TOBA_SESSID=8ln4jggekaqu7r10bmr8ptrp12; 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 [Content-Length] => 15 [Content-Type] => text/html ) </pre></ul> [TRAZA]exception 'toba_error_comunicacion' with message 'Error , NO Response Received' in C:\toba1.5\php\nucleo\lib\toba_servicio_web_cliente.php:72 Stack trace: #0 C:\toba1.5\proyectos\becas_sf\php\servicios\ci_form_datos.php(63): toba_servicio_web_cliente->request(Object(toba_servicio_web_mensaje)) #1 [internal function]: ci_form_datos->evt__form_datos__enviar(Array) #2 C:\toba1.5\php\nucleo\componentes\interface\toba_ci.php(321): call_user_func_array(Array, Array) #3 [internal function]: toba_ci->registrar_evento('form_datos', 'enviar', Array) #4 C:\toba1.5\php\nucleo\componentes\interface\toba_ei.php(278): call_user_func_array(Array, Array) #5 C:\toba1.5\php\nucleo\componentes\interface\toba_ei_formulario.php(309): toba_ei->reportar_evento('enviar', Array) #6 C:\toba1.5\php\nucleo\componentes\interface\toba_ci.php(201): toba_ei_formulario->disparar_eventos() #7 C:\toba1.5\php\nucleo\toba_solicitud_web.php(135): toba_ci->disparar_eventos() #8 C:\toba1.5\php\nucleo\toba_solicitud_web.php(55): toba_solicitud_web->procesar_eventos() #9 C:\toba1.5\php\nucleo\toba_nucleo.php(60): toba_solicitud_web->procesar() #10 C:\toba1.5\proyectos\becas_sf\www\aplicacion.php(24): toba_nucleo->acceso_web() #11 {main}
Mensaje a usuario: Error , NO Response Received
Configurando dependencias para responder al servicio...
componente(3000090): Pantalla de servicio: 'pant_inicial'
componente(3000090): [ callback ] 'conf__pant_inicial' no fue atrapado
componente(3000090): [ callback ] 'conf__form_datos'
Respondiendo al servicio__generar_html...

En la pantalla del cliente me muestra este error:


Se han encontrado los siguientes problemas:
Error , NO Response Received Más info...
Error , NO Response Received

    Opciones:

    Array
    (
        [to] => http://localhost/becas_sf/1.0/servicios/srv_pwd_data
        [useWSA] => 1
        [policy] => WSPolicy Object
            (
                [policyXML] => 
    		
    			
    				
    					
    					
    				
    				
    					
    						
    							
    								
    							
    						
    					
    				
    			
    		

            )

        [securityToken] => WSSecurityToken Object
            (
                [user] => toba
                [password] => toba
            )

    )

    Headers Respuesta:

    Array
    (
        [Date] => Wed, 06 Apr 2011 13:16:50 GMT
        [Server] => Apache/2.2.17 (Win32) PHP/5.3.6
        [X-Powered-By] => PHP/5.3.6
        [Set-Cookie] => TOBA_SESSID=kk0gs2bhd86gp2np1rg7uik7i5; 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
        [Content-Length] => 15
        [Content-Type] => text/html
    )

Fijate que a pesar de que lo muestra en blanco, policyXML tiene los datos xml.

Hola Oscar,

esto es en la version 2.0 verdad?, tenes a manos los logs de wsf para verlos?.
Lo otro que me llamo la atencion es lo siguiente:


array (

  'to' => 'http://localhost/becas_sf/1.0/servicios/srv_pwd_data',
  'useWSA' => true,

En el to deberia estar la URL con el punto de acceso de servicios, osea algo mas asi:

'http://localhost/becas_sf/1.0/servicios.php/srv_pwd_data'

Proba navegar directamente la URL del to para ver que responde, en teoria deberias recibir un listado con todos los action disponibles.

Saludos

Estoy pasando todo a las últimas versiones:
Cuando termine te comento.

pd : lo del parámetro “to” está bien, fijate que la coma al final es pq está adentro del array.

Hola Oscar,

Barbaro, cuando lo tengas avisame.

pd : lo del parámetro "to" está bien, fijate que la coma al final es pq está adentro del array.
no me referia a la coma... sino a lo siguiente:

‘to’ => ‘localhost/becas_sf/1.0/servicios/srv_pwd_data’,
deberia ser
‘to’ => ‘localhost/becas_sf/1.0/servicios.php/srv_pwd_data’,

iba por ese lado mi consulta.

Saludos

Bueno a partir de ahora mi entorno de trabajo es este:
Apache 2.2.17 php 5.3.6 wsf 2.1.0 Toba 2.0.2

Tengo un proyecto igual al que tenia antes, me sigue dando el mismo error, solo que antes cuando ponia la url del servicio me mostraba “Sevicios Web publicados” y listaba los servicios disponibles y al entrar me desplegaba las operaciones y ahora al tratar de ver las operaciones me da error: "PUNTOS DE MONTAJE: El punto de montaje con id ‘’ no existe en el proyecto ‘becas_sf’ "

Aperte de lo del punto de montaje, detallame como serian las referecias “to” en el cliente y en el servicio.

te paso el log


    INSTALACION "C:\toba2/instalacion"
    Parametros instancia desarrollo: array (

      'base' => 'toba_2_0',
      'proyectos' => 'toba_editor, toba_referencia, toba_usuarios, becas_sf',
      'tipo' => 'normal',
      'toba_editor' => 
      array (
        'path' => 'C:\\toba2/proyectos/toba_editor',
        'url' => '/toba_editor/2.0',
      ),
      'toba_referencia' => 
      array (
        'path' => 'C:\\toba2/proyectos/toba_referencia',
        'url' => '/toba_referencia/2.0',
      ),
      'toba_usuarios' => 
      array (
        'path' => 'C:\\toba2/proyectos/toba_usuarios',
        'url' => '/toba_usuarios/2.0',
      ),
      'becas_sf' => 
      array (
        'path' => 'C:\\toba2/proyectos/becas_sf',
        'url' => '/becas_sf/1.0',
        'pm_ws' => 'php/servicios/',
      ),
    )

    INSTANCIA "desarrollo"
    Conectando a base 'toba_2_0'
    Parametros de conexion: array (

      'motor' => 'postgres7',
      'profile' => 'localhost',
      'usuario' => 'postgres',
      'clave' => 'pc207n',
      'base' => 'toba_2_0',
      'puerto' => '5432',
      'encoding' => 'LATIN1',
      'schema' => 'desarrollo',
    )

    PROYECTO "becas_sf"
    PUNTO DE MONTAJE: se cargó exitosamente el autoload del punto de montaje proyecto
    PROYECTO "becas_sf"
    Iniciando componentes...
    PUNTO MONTAJE: se cargó la clase servicios/ci_form_datos.php del punto de montaje proyecto. El path del mismo es C:\toba2/proyectos/becas_sf/php
    componente(3000005): Pantalla de eventos: 'pant_inicial'
    Procesando eventos...
    componente(3000005): [ inicializar_dependencias ]

    array (
      0 => 'form_datos',
    )

    componente(3000006): IMPLICITO: enviar
    componente(3000005): [ registrar_evento ] 'enviar' -> [ evt__form_datos__enviar ]

    array (
      0 => 
      array (
        'tipo_doc' => '0',
        'nro_doc' => '0',
        'apellidos' => '0',
        'nombres' => '0',
        'sexo' => '0',
        'calidad' => '0',
        'ua' => '0',
        'carrera' => '0',
      ),
    )

    Invocando servicio servidor_datos. Opciones:
    array (

      'to' => 'http://localhost/becas_sf/2.0/servicios/srv_pwd_data.php',
      'useWSA' => true,
      'policy' => 
      WSPolicy::__set_state(array(
         'policyXML' => '
    		
    			
    				
    					
    					
    				
    				
    					
    						
    							
    								
    							
    						
    					
    				
    			
    		
    ',
      )),
      'securityToken' => 
      WSSecurityToken::__set_state(array(
         'user' => 'toba',
         'password' => 'toba',
      )),
    )

    toba_error_comunicacion: Error , NO Response Received <ul><li>Opciones: <pre>Array ( [to] => http://localhost/becas_sf/2.0/servicios/srv_pwd_data.php [useWSA] => 1 [policy] => WSPolicy Object ( [policyXML] => <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding> <wsp:Policy> </wsp:Policy> </sp:TransportBinding> <sp:SignedSupportingTokens> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10 /> </wsp:Policy> </sp:UsernameToken> </wsp:Policy> </sp:SignedSupportingTokens> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> ) [securityToken] => WSSecurityToken Object ( [user] => toba [password] => toba ) ) </pre><li>Headers Respuesta: <pre>Array ( [Date] => Fri, 08 Apr 2011 14:14:18 GMT [Server] => Apache/2.2.17 (Win32) PHP/5.3.6 [X-Powered-By] => PHP/5.3.6 [Set-Cookie] => TOBA_SESSID=4or78og1fsh29ro7p1k0q0vs77; 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 [Content-Length] => 103 [Content-Type] => text/html ) </pre></ul> [TRAZA]exception 'toba_error_comunicacion' with message 'Error , NO Response Received' in C:\toba2\php\nucleo\lib\toba_servicio_web_cliente.php:72 Stack trace: #0 C:\toba2\proyectos\becas_sf\php\servicios\ci_form_datos.php(63): toba_servicio_web_cliente->request(Object(toba_servicio_web_mensaje)) #1 [internal function]: ci_form_datos->evt__form_datos__enviar(Array) #2 C:\toba2\php\nucleo\componentes\interface\toba_ci.php(321): call_user_func_array(Array, Array) #3 [internal function]: toba_ci->registrar_evento('form_datos', 'enviar', Array) #4 C:\toba2\php\nucleo\componentes\interface\toba_ei.php(290): call_user_func_array(Array, Array) #5 C:\toba2\php\nucleo\componentes\interface\toba_ei_formulario.php(309): toba_ei->reportar_evento('enviar', Array) #6 C:\toba2\php\nucleo\componentes\interface\toba_ci.php(201): toba_ei_formulario->disparar_eventos() #7 C:\toba2\php\nucleo\toba_solicitud_web.php(135): toba_ci->disparar_eventos() #8 C:\toba2\php\nucleo\toba_solicitud_web.php(55): toba_solicitud_web->procesar_eventos() #9 C:\toba2\php\nucleo\toba_nucleo.php(61): toba_solicitud_web->procesar() #10 C:\toba2\proyectos\becas_sf\www\aplicacion.php(24): toba_nucleo->acceso_web() #11 {main}
    Mensaje a usuario: Error , NO Response Received
    Configurando dependencias para responder al servicio...
    componente(3000005): Pantalla de servicio: 'pant_inicial'
    componente(3000005): [ callback ] 'conf__pant_inicial' no fue atrapado
    componente(3000005): [ callback ] 'conf__form_datos'
    Respondiendo al servicio__generar_html...


Cuando diste de alta el servicio web, en el editor existia un combo punto de montaje al momento de especificar cual era la subclase que lo implementaba?.
Si no es asi, entonces estas en la version 2.0.2 exacta, te recomendaria que te cambies a la rama de desarrollo de la version 2.0 mediante un switch, sino te van a faltar los cambios que hice en las ultimas 2 semanas.

Con respecto a lo del ‘TO’, te lo decia debido a que no crei que apache y wsf mapearan el ‘/servicio/’ directamente con el archivo ‘servicio.php’, aparentemente lo hace y funciona de todas formas.
Lo que si, recorda que en el ‘TO’ tiene que estar el nombre del servicio (que coincide con el identificador del item), el cual ahora es ‘3000003’.

Un comentario sin relacion…

```
INSTALACION "C:\toba2/instalacion"
Parametros instancia desarrollo: array (
  'becas_sf' => 
  array (
    'path' => 'C:\\toba2/proyectos/becas_sf',
    'url' => '/becas_sf/1.0',
    'pm_ws' => 'php/servicios/',
  ),
)
</blockquote>
La url no coincide con la que tenes declarada en instancia.ini para el proyecto becas_sf, esto te puede dar algunos errores, sobre todo con la previsualizacion ;). Tiene que coincidir el alias en toba.conf con el parametro '[url]'

Saludos

Hola a todos, Richard :
Cambié mi versión de toba a la de desarrollo, regeneré la instancia e hice las operaciones nuevamente en el proyecto.

También corregí lo que me marcaste en

La url no coincide con la que tenes declarada en instancia.ini para el proyecto becas_sf, esto te puede dar algunos errores, sobre todo con la previsualizacion ;). Tiene que coincidir el alias en toba.conf con el parametro '[url]'

Ahora me da este error ( y no encuentro ninguna pista en internet)

WS FAULT exception: [soapenv:Sender] Database cannot be opened
Tenés idea que puede ser ???

Saludos

Hola Oscar ,

WSF mantiene una base de datos para las conexiones confiables, evidentemente no te esta encontrando el archivo perteneciente a dicha base de datos (SqlLite).
El archivo en cuestion se llama sandesha2_db y deberia estar en el mismo directorio donde se encuentra el punto de acceso. O en caso de que en windows si respete el parametro wsf.rm_db_dir configurado en php.ini entonces se deberia encontrar en dicho directorio.

En caso de que exista, tendrias que ver por que el archivo no tiene permisos para que Apache pueda accederlo, o crearlo en caso de que no exista.

Saludos

Sigo con el error "WS FAULT exception: [soapenv:Sender] Database cannot be opened "
Ahora que configuré el parámetro “wsf.rm_db_dir”, veo en el log “wsf_php_server.log”
que siempre ( sea cual sea el parámetro ) me dice “[Wed Apr 13 10:20:53 2011] [error] …..\src\storage\sqlite\permanent_storage_mgr.c(1160) [sandesha2] Database C:\wsfc/sandesha2_db creation failed”
Puntualmente, no se de donde sale "C:\wsfc" , no tengo esa carpeta en mi disco, ni lo pongo en el parámetro!

Investigando los archivos en " \wsf_c\modules\sandesha2\ " encontré module.xml de configuración con un comentario en el parámetro, lo descomenté y completé:

<!-- Database name parameter -->
   <parameter name="sandesha2_db" locked="false">C:/Temp/sandesha2_db</parameter>-->
<!-- General parameters -->

y me da este error ahora :
en toba

WS FAULT exception: [soapenv:Receiver] Invalid document state; Document root is NULL Más info...
En wsf_php_server:
[Wed Apr 13 10:31:01 2011] [error] ..\..\src\core\util\core_utils.c(1053) REST maping structure is NULL for the accessed URL [Wed Apr 13 10:31:01 2011] [error] ..\..\axiom\src\om\om_document.c(102) Unable to get root node [Wed Apr 13 10:31:01 2011] [error] wsf_util.c(1242) [WSF/PHP] Root element of the document is not found
En wsf_php_client:
[Wed Apr 13 10:31:01 2011] [warning] ..\..\src\core\context\msg_ctx.c(1384) RampartClientConfiguration not set in message context [Wed Apr 13 10:31:01 2011] [error] ..\..\src\core\transport\http\sender\http_sender.c(1330) Error occurred in transport

En apache no loguea errores.

No se como corregir este asunto, será un problema de la versión de windows ???

Solucioné el error creando la carpeta c:\wsfc en mi disco, pero ahora tengo el siguiente error;

toba_error_comunicacion: WS FAULT exception: [soapenv:Receiver] Invalid document state; Document root is NULL <ul><li>Opciones: <pre>Array ( [to] => http://localhost/becas_sf/2.0/servicios.php/serv_datos [useWSA] => 1 [policy] => WSPolicy Object ( [policyXML] => <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> <wsp:ExactlyOne> <wsp:All> <sp:TransportBinding> <wsp:Policy> </wsp:Policy> </sp:TransportBinding> <sp:SignedSupportingTokens> <wsp:Policy> <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10 /> </wsp:Policy> </sp:UsernameToken> </wsp:Policy> </sp:SignedSupportingTokens> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> ) [securityToken] => WSSecurityToken Object ( [user] => toba [password] => toba ) ) </pre><li>Headers Respuesta: <pre>Array ( [Date] => Wed, 13 Apr 2011 15:01:13 GMT [Server] => Apache/2.2.17 (Win32) PHP/5.3.6 [X-Powered-By] => PHP/5.3.6 [Set-Cookie] => TOBA_SESSID=6m5h1hc8oj1dkqldb4qadb1hj2; 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 [Content-Length] => 932 [Connection] => close [Content-Type] => application/soap+xml;charset=UTF-8 ) </pre></ul> [trAZA]
Mensaje a usuario: WS FAULT exception: [soapenv:Receiver] Invalid document state; Document root is NULL

no se a documento se refiere…

Oscar,
acordate que el error cambio cuando tocaste este archivo xml.

Por otro lado, que te devuelve el servidor cuando navegas manualmente hacia

http://localhost/becas_sf/2.0/servicios.php/serv_datos

El identificador del servicio ya no es ‘serv_datos’ me parece, no habia cambiado a uno numerico?

Saludos

Ricardo
El error me da con la siguiente configuración:

acordate que el error cambio cuando tocaste este archivo xml.
lo dejé como estaba (comentado)
Por otro lado, que te devuelve el servidor cuando navegas manualmente hacia
http://localhost/becas_sf/2.0/servicios.php/serv_datos

Deployed Services
serv_datos

Available Operations

persona_ver
RMInOnlyOperation
aplanar_array
RMInOutOperation
El identificador del servicio ya no es 'serv_datos' me parece, no habia cambiado a uno numerico?

Cuando me di cuenta que era el id del item de consulta lo cambié a ‘serv_datos’