• Publicidad

Duda con el SOAP::LITE

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

Duda con el SOAP::LITE

Notapor francoflores » 2008-09-25 13:53 @620

¡¡Saludos a todos!!
Me estoy iniciando en Perl.
Ya hice el "hola mundo" desde Perl, lo que quiere decir que el Perl está bien instalado junto con el Apache.
Lo que me movió a programar en Perl es la creación de un servicio web, por lo que he visto si se puede, mediante la librería o modulo SOAP::LITE.

El problema que tengo es saber si está o no instalado el SOAP::LITE.

Lo que hice fue:
- Descargarlo de la página www.soaplite.com.
- Descomprimirlo
- En la consola ingresé el comando:
- Perl makefile.pl (apareció un poco de cosas y después me pregunto si desea esa configuración, le dije que sí).
- luego makefile.pl test (apareció lo mismo).
- Luego makefile.pl install(apareció lo mismo).

La instrución de la página dice que le tengo que colocar:
Perl makefile.pl
make test
make install

Pero las dos últimas no las reconoce.

Después de eso asumo que está instalado el SOAP::LITE.

Creo un archivo llamado prueba2.cgi con el siguiente código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!C:\perl\bin\perl.exe -w
print "Content-type: text/html\n\n";
print "<center><h1>HOLA MUNDO!</h1></center>\n";
exit(1);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Coloco en el explorador http://localhost/cgi-bin/prueba2.cgi
y todo fino, muestra el HOLA MUNDO en el navegador.

Pero creo este archivo prueba3.cgi con el siguiente código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#C:\perl\bin\perl.exe -w

# -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulchenko --

use SOAP::Transport::HTTP;

SOAP::Transport::HTTP::CGI  
  -> dispatch_to('Demo')    
  -> handle;

package Demo;

sub hi {                    
  return "hello, world";    
}

sub bye {                    
  return "goodbye, cruel world";
}

sub languages {                
  return ("Perl", "C", "sh");  
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y aparece esto:
Código: Seleccionar todo
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


No sé que está mal. Si me pueden ayudar, ¡¡Gracias!! ¡¡Saludos!!
francoflores
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2008-09-25 13:36 @608

Publicidad

Notapor explorer » 2008-09-25 14:28 @644

Bienvenido a los foros de Perl en Español, francoflores.

Enhorabuena por entrar en el mundo de Perl.

Para hacer servicios web, no te hace falta ningún módulo con protocolo SOAP. Un simple CGI como los que muestras valen para dar servicios web.

Debes indicarnos en qué sistema operativo y qué distribución Perl estás usando. Por las primeras líneas de los códigos parece que estás en Windows. Esa es la razón por la cual te fallan las líneas 'make': Windows no tiene ese comando. De hecho, no tiene ningún programa de desarrollo, por defecto.

Si te instalas una distribución Perl para Windows, como por ejemplo la de ActiveState (ActivePerl), no necesitarás realizar ninguna operación de compilación e instalación manual. Toda la gestión se hace a través de su gestor PPM. En estos foros hay algunos ejemplos de uso del PPM en modo consola:
viewtopic.php?t=1012&start=15

Ahora, PPM ya es gráfico y todo eso ya se puede hacer a golpe de ratón. Sólo tienes que buscar el módulo que quieres instalar y dar al botón de instalar.

Otra cosa. Para saber si un módulo está instalado, puedes ejecutar algo como esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -Mmódulo -e 1
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Si no sale nada, es que está bien instalado.

En cuanto al SOAP::Lite, hay algunos ejemplos en estos foros. Usa el sistema de búsqueda. Recuerda que esto es cosa de dos: un programa en el servidor, que da el servicio web, y otra cosa es el programa cliente.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor monoswim » 2008-09-25 14:30 @646

No, esas cosas sos para compilar en Linux, no para instalarlo en Windows...

Andá a Archivo - Ejecutar - PPM

El PPM es el Perl Package Manager... Ahí buscas el módulo que quieras y te lo instala...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor francoflores » 2008-09-26 08:50 @410

No sabia del ppm.

Lo ejecuté y busqué el soap-lite y no sale el módulo. El programa solo muestra unos paquetes SOAP pero ninguno es el soap-lite. Descargué el SOAP-Lite-0.710.06 que trae un archivo con el mismo nombre con la extensión .ppd según el archivo readme debo ejecutar este comando "ppm install SOAP-Lite-0.710.06.ppd"; lo ejecuto y muestra un poco de cosas...

Después ejecute un comando que encontré en Internet (no me acuerdo cuál fue) que empieza a descargar un poco de archivos relacionados con el soap lite... Reviso la carpeta C:\Perl\cpan\build en dicha carpeta hay una carpeta con el nombre SOAP-Lite-0.710.08-awnek3 que tiene lo mismo archivo que descargué antes...

Descargué el ide OptiPerl y me dice que no puede localizar la librería SOAP::Transport::HTTP::CGI, lo que quiere decir que no está instalado el módulo...

Yo pretendo ejecutar solo el servidor a través del navegador y si devuelve la página en blanco o con el mensaje soap quiere decir que está bien... al menos así ocurre con los servicios que hice en .Net y en PHP, puesto que el cliente ya lo tengo y no lo puede modificar.

No sé si tengo que descargar otro módulo. Si me pueden ayudar: ¡¡gracias!!

¡¡Gracias!! y ¡¡Saludos!!
francoflores
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2008-09-25 13:36 @608

Notapor explorer » 2008-09-26 18:57 @831

En el hilo que te puse hay un ejemplo de búsqueda. Te debería salir la distribución SOAP-Lite, que es así como aparece en ActiveState.

De todas formas, es una versión antigua. Una más moderna la conseguirás si añades el repositorio http://trouchelle.com al PPM.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

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

cron