• Publicidad

Servicio web con FastCGI

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Servicio web con FastCGI

Notapor Fernando » 2011-06-10 09:04 @420

Qué tal gente.

Los molesto otra vez con una consulta. Estuve leyendo muchos tutoriales y manuales de SOAP y FCGI. Creo entender el funcionamiento de ambos y armé dos scripts, uno con SOAP y otro con FCGI que andan.

Lo que necesito ahora es armar UN SOLO servicio web con SOAP que utilice FCGI. Respecto a esto no encontré documentación y no me doy cuenta cómo debería ser la estructura del script.

Este es mi script FCGI:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. #!/usr/bin/perl -w 
  2.  
  3. use CGI::Fast; 
  4. open(LISTA, "</etc/lista.dominios") or die "No se pudo procesar: $!"; 
  5.  
  6. my @lineas = <LISTA>; 
  7. my %hash_table; 
  8.  
  9. for my $linea ( @lineas ) 
  10.  my @campos = split /,/, $linea; 
  11.  $hash_table{$campos[0]} = "$campos[1]"; 
  12.  
  13. my $count = 0; 
  14.  
  15. while (my $q = CGI::Fast->new) 
  16.   print("Content-Type: text/plain\n\n"); 
  17.   print("Process ID: $$; Total de consultas: " . ++$count); 
  18.   print("Categoria: " .$hash_table{'infobae.com'}); 


El archivo /etc/lista.dominios es una lista de dominios y categorias. Lo que hago es preguntar por un dominio y me devuelve la categoría a la que pertenece.

Esto funciona bien. Demora unos segundos la primera consulta, pero en las sucesivas es casi instantánea la respuesta.

El problema que tengo es que no me puedo dar cuenta como armar lo mismo haciendo uso de SOAP. Es decir, con SOAP tengo esta estructura:

Sintáxis: [ Descargar ] [ Ocultar ]
  1. #!/usr/bin/perl -w 
  2.  
  3. use SOAP::Transport::HTTP; 
  4. SOAP::Transport::HTTP::CGI   
  5.  
  6. -> dispatch_to('Demo')    
  7. -> handle; 
  8.  
  9. package Demo; 
  10. sub prueba {            
  11.   return "Esto es una prueba";    
  12.  } 



Probé de incorporar la parte de inicialización de FCGI antes de "package Demo;" en el código de arriba pero no tuve resultados exitosos. Probé también la inicialización previo al "-> dispatch_to('Demo')" pero tampoco me funcionó.

Desde ya les agradezco mucho la ayuda.
Fernando
Perlero nuevo
Perlero nuevo
 
Mensajes: 15
Registrado: 2011-04-16 08:10 @382

Publicidad

Re: Servicio web con FastCGI

Notapor panterozo » 2011-06-10 15:44 @697

Hola Fernando:

Hace un par de días me armé un web service junto a un WSDL en Perl Aqui. Puede que ayude a hacerte el tuyo ;).

Por otra parte, creo que donde debes añadir el use CGI::Fast; es después del package Demo; :S

¡¡¡Saludos!!!
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron