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:
- #!/usr/bin/perl -w
- use CGI::Fast;
- open(LISTA, "</etc/lista.dominios") or die "No se pudo procesar: $!";
- my @lineas = <LISTA>;
- my %hash_table;
- for my $linea ( @lineas )
- {
- my @campos = split /,/, $linea;
- $hash_table{$campos[0]} = "$campos[1]";
- }
- my $count = 0;
- while (my $q = CGI::Fast->new)
- {
- print("Content-Type: text/plain\n\n");
- print("Process ID: $$; Total de consultas: " . ++$count);
- 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:
- #!/usr/bin/perl -w
- use SOAP::Transport::HTTP;
- SOAP::Transport::HTTP::CGI
- -> dispatch_to('Demo')
- -> handle;
- package Demo;
- sub prueba {
- return "Esto es una prueba";
- }
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.