• Publicidad

Crear archivo WSDL de servicio Perl

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

Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-22 18:12 @800

Hola, buenas. Paso a comentarles que quiero armar el archivo WSDL del servicio que estoy probando, realizado en Perl, pero... al querer generarlo con el WSDL::Generator me da error.

La idea es generarlo en el disco C: y luego subirlo al servidor donde está el mismo archivo que brinda el servicio. Si alguno conoce alguna forma de generarlo correctamente o indicarme cuál es mi error se lo agradeceré...


Código de servidor ( funcionando desde un cliente perl )

use SOAP::Transport::HTTP;
use Term::Menu;
use DBI;
SOAP::Transport::HTTP::CGI
-> dispatch_to('servidor')
-> handle;
package servidor;
sub temperatura {
return "La temperatura actual es de 23 grados";
};

Codigo de crearwsdl.pl


#!/usr/bin/perl -w
use WSDL::Generator;
my $init = {
'schema_namesp' => 'http://192.168.0.46:80/archivowsdl.xsd',
'services' => 'servidor',
'service_name' => 'servidor',
'target_namesp' => 'http://192.168.0.46:80/archivowsdl.wsdl',
'documentation' => 'Servicio Web de Prueba',
'location' => 'http://192.168.0.46:80/servidor'
};
my $w = WSDL::Generator->new($init);
ser->prueba();
print $w->get(ser);

Error que aparece :

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
C:\Documents and Settings\admin.SINNOMBRE>perl c:\crearwsdl.pl
Unquoted string "ser" may clash with future reserved word at c:\crearwsdl.pl line 12.
Unquoted string "ser" may clash with future reserved word at c:\crearwsdl.pl line 13.
Class ser not called at c:\crearwsdl.pl line 13
Use of uninitialized value in print at c:\crearwsdl.pl line 13.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: Crear archivo WSDL de servicio Perl

Notapor explorer » 2011-05-22 18:32 @814

El error dice que Perl no sabe lo que significa 'ser' en la línea

ser->prueba();

y en la siguiente.

Si tu has escrito el código, tu deberías de saberlo...

Por otra parte, ¿has comprobado la matriz de compatibilidad?
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

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-23 07:59 @374

Que raro, no funciona con la versión del Perl 5.12.3 que tengo instalado... Respecto al código es un ejemplo que encontré pero que no responde como uno quiere...
Última edición por explorer el 2011-05-23 09:20 @430, editado 1 vez en total
Razón: ke -> Que, perl -> Perl, codigo -> código
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor explorer » 2011-05-23 09:23 @432

En la matriz de compatibilidad no se indica que no funcione, con esa versión de Perl, sino que nadie hasta ahora lo ha intentado. Si estuviera la celda de color rojo entonces sí que estaría indicando que no se consiguió instalar.

Si encontraste el código en otro sitio, es muy posible que allí se encuentre la definición del objeto 'ser' (aunque estoy sospechando de que se trata de un error sintáctico).
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

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-24 09:01 @417

Ok, perfecto... Gracias. Si alguno tiene un ejemplo o tuvo la necesidad de generar un WSDL de un servicio en Perl agradeceré el ejemplo... Hasta el momento entendí que el archivo WSDL permite conectar el servicio con otros lenguajes. Es lo único que me falta para probar y seguir aprendiendo...

Es el IDE de Visual Studio, Eclipse y Netbeans, piden ese requisito para conectar con el servicio, por eso mi perseverancia en generar el archivo de un servicio que solamente responde con un “hola “...

Si no os molesta, quiero compartir el link desde donde encontré una reseña que no estoy pudiendo hacer funcionar... pero lo veo interesante compartirlo.

http://gluc.unicauca.edu.co/wiki/index.php/Servicios_Web_con_Perl
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor explorer » 2011-05-24 09:32 @439

Muy bueno el enlace.

Por lo que se ve en la documentación, tu famoso 'ser', en realidad, deberías escribirlo como 'servidor'.
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

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-24 10:54 @496

El archivo en el servidor es servidor.pl, está en cgi-bin y con un cliente Perl funciona bien...
La función se llama "altas" y está probada que funciona correctamente sin pasarle parámetros.
Por ello traté de adaptar el ejemplo al esquema actual...
Cambié la sintaxis y sigue dando error...

use WSDL::Generator;
my $init = {
'schema_namesp' => 'http://192.168.1.x:80/archivowsdl.xsd',
'services' => 'servidor',
'service_name' => 'servidor',
'target_namesp' => 'http://192.168.1.x:80/archivowsdl.wsdl',
'documentation' => 'Servicio Web de Prueba',
'location' => 'http://192.168.1.x:80/servidor'
};
my $w = WSDL::Generator->new($init);
servidor->altas();
print $w->get(altas);


Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Script Output :
Executing file : C:\crearwsdl.pl

Unquoted string "servidor" may clash with future reserved word at C:\crearwsdl.pl line 12.
Unquoted string "altas" may clash with future reserved word at C:\crearwsdl.pl line 13.
Class altas not called at C:\crearwsdl.pl line 13
Use of uninitialized value in print at C:\crearwsdl.pl line 13.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor explorer » 2011-05-24 12:48 @575

¿Has probado a quitar el 'use strict;' y el 'use warnings;'?

Me he dado cuenta de también existe el módulo SOAP::WDSL.
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

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-24 14:16 @636

usando
use strict;
use warnings;

el resultado es este... Lo que me genera duda es no poder terminar de entender cómo funciona el ejemplo, lo de copiar y pegar, bueno, pero me interesa saber qué pasa en cada línea... o al menos a rasgos generales... ansío poder conectar cualquier cliente a mi servicio Perl y me diga "hola".

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Script Output :
Executing file : C:\crearwsdl.pl

Bareword "altas" not allowed while "strict subs" in use at C:\crearwsdl.pl line 15.
Execution of C:\crearwsdl.pl aborted due to compilation errors.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor explorer » 2011-05-24 14:26 @643

Quizás me he expresado mal... lo que te decía es que lo probaras sin esos dos pragmas.
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

Siguiente

Volver a Básico

¿Quién está conectado?

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