Me encuentro actualmente intentando crear un Web Service en Perl. Estoy usando para esto el paquete Pod::WSDL. A continuación pueden ver el código:
Using perl Syntax Highlighting
- package WebserviceFunctions;
- =begin WSDL
- _DOC Hello return a String saying hello
- _IN name $string the name of the user to salute
- _RETURN $string Returns a string Hello, name
- =end WSDL
- sub Hello {
- my $name = shift;
- my $return = "Hello, $name";
- return $return;
- }
- =begin WSDL
- _DOC Goodbye return a String saying goodbye
- _IN name $string the name of the user to dismiss
- _RETURN $string Returns a string Goodbye, name
- =end WSDL
- sub Goodbye {
- my $name = shift;
- my $return = "Goodbye, $name";
- return $return;
- }
- 1;
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use Pod::WSDL;
- use CGI;
- use strict;
- use warnings;
- print CGI->header('text/xml');
- my $pod = new Pod::WSDL(source=> './WebserviceFunctions.pm',
- location=>'http://192.168.11.73/cgi-bin/webservice',
- pretty=>1,
- withDocumentation=>1);
- $pod->addNamespace('http://192.168.11.73/cgi-bin/webservice/','WebserviceFunctions');
- print $pod->WSDL;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Si entro directamente a la URL http://192.168.11.73/cgi-bin/webservice/webservice.cgi con mi navegador puedo ver perfectamente el código WSDL. Sin embargo, al intentar llamar el web service desde algún cliente tengo problemas.
Actualmente he intentado de dos formas, primero con un cliente en PHP (nusoap) el cual si bien se conecta al web service, al llamar un método éste le devuelve un NULL. De la segunda manera es con el web services Explorer de Eclipse, con el cual también puedo entrar al web service y ver sus métodos, pero al intentar llamar alguno de los métodos me devuelve el siguiente error:
IWAB0135E An unexpected error has occurred.
301
Moved Permanently
¿Alguien tiene alguna idea de qué se puede tratar esto? Los códigos que les he mostrado corresponden a ejemplos sacados de Internet y supuestamente deberían funcionar. Y por último, en caso de no encontrar solución, si me pueden guiar hacia otro módulo de Perl con el que pueda crear exitosamente un web service con salida a WSDL les estaría muy agradecido.
Saludos.