• 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.

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-25 00:52 @077

Es que no los tenía... Inicialmente... sin use strict;use warnings;

El error es el mismo de antes, ahora estoy volviendo a las fuentes a ver si entiendo cómo va el tema...

Script Output :
Executing file : C:\crearwsdl.pl

Unquoted string "servidor" may clash with future reserved word at C:\crearwsdl.pl line 12.
Unquoted string "servidor" may clash with future reserved word at C:\crearwsdl.pl line 13.
Class servidor not called at C:\crearwsdl.pl line 13
Use of uninitialized value in print at C:\crearwsdl.pl line 13.
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-25 05:47 @282

¿Qué versión de Perl tienes instalada?

¿Es realmente necesaria la generación del fichero WSDL? ¿No te vale con el modo de funcionar de SOAP::WSDL, por ejemplo?

En CPAN hay algún módulo más que sirve para generar el fichero WSDL, como el Pod::WSDL.
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-25 06:40 @319

Por partes, y gracias por apoyarme

Perl instalado: v5.12.3.

Respecto a si es necesario, bueno, me interesa aprender cómo funciona Perl brindando servicios; le veo muy buena respuesta a Perl desde que comencé a utilizarlo en servidores de bases de datos y el cliente por consola de Perl se conecta increíblemente.

El objetivo es conectar el servicio de perl con cualquier formulario en C#, Java o lo que surja… dejando la lógica en Perl. Tener que aprender un lenguaje para un proyecto o necesidad personal y luego ir cambiando es el doble de tiempo, en cambio utilizando Perl en la lógica y el front con cualquier formulario, en fin, hay muchas razones y la principal es que lo veo muy interesante…

Respecto a SOAP::WSDL no veo un ejemplo claro de uso y veo que el cliente SOAP::WSDL::Client does not support auto-dispatching, pequeño detalle, pero bueno…

Respecto a Pod::WSDL. Sí pude generar el archivo y estoy probando a ver si lo conecto; por el momento no termina de conectar poniéndolo en un el raíz del sitio donde está el servidor.pl…

El código que terminó dando respuesta fue:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use strict;
  2. use warnings;
  3.  
  4. use Pod::WSDL;
  5. my $pod = new Pod::WSDL(source => "c:/servidor.pl",
  6.         location => 'http://192.168.1.x/servidor',
  7.         pretty => 1,
  8.         withDocumentation => 1);
  9. print( $pod->WSDL );
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Este es el archivo que me dio de respuesta….

Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- WSDL for http://192.168.1.x/servidor created by Pod::WSDL version: 0.061 on Wed May 25 12:32:24 2011 -->
  3. <wsdl:definitions targetNamespace="http://192.168.1.x/servidor" xmlns:impl="http://192.168.1.x/servidor" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns1="http://192.168.1.x/servidor">
  4.  
  5.         <wsdl:portType name="servidorHandler">
  6.         </wsdl:portType>
  7.  
  8.         <wsdl:binding name="servidorSoapBinding" type="impl:servidorHandler">
  9.                 <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
  10.  
  11.         </wsdl:binding>
  12.  
  13.         <wsdl:service name="servidorHandlerService">
  14.                 <wsdl:port binding="impl:servidorSoapBinding" name="servidor">
  15.                         <wsdlsoap:address location="http://192.168.1.x/servidor" />
  16.                 </wsdl:port>
  17.         </wsdl:service>
  18.  
  19. </wsdl:definitions>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2011-05-25 06:48 @325, editado 2 veces en total
Razón: Ortografía, bloques de código Perl y XML
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-25 09:26 @434

Bueno, las pruebas con el archivos WSDL generado con el Pod::WSDL y un cliente en línea de comando de Perl dieron el siguiente resultado. Para minimizar errores lo dejé en local y utilicé el siguiente cliente.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Data::Dumper;
  2. use SOAP::Lite;
  3.   my $service = SOAP::Lite
  4.     -> service('c:/servidorwdsl.wsdl');
  5.   print 'MSFT + ORCL = ',
  6.         $service->getQuote('MSFT') + $service->getQuote('ORCL');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
error

Service description 'c:/servidorwdsl.wsdl' can't be loaded: 501 Protocol scheme 'c' is not supported
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2011-05-25 12:24 @558, editado 2 veces en total
Razón: wsdl -> WSDL, linea -> línea, perl -> Perl, sintaxis Perl y Texto
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-25 13:13 @592

El error dice que SOAP no entiende lo que es 'C:'.

Tu y yo sabemos que corresponde a la ruta de un directorio local, pero SOAP está esperando un URL completo, así que deberás probar con un file://... o quizás ponerlo en un http://... dentro de un servidor local que sirva ese fichero.
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-25 13:54 @621

Ok... lo limpié y quedo así... pero da otro error... pero ya respecto a un módulo...


Script Output :
Executing file : C:\clientewsdl.pl


mismatched tag at line 47, column 8, byte 1634 at C:/perl/lib/XML/Parser.pm line 187

código que utilicé

use warnings;
use SOAP::Lite;
my $service = SOAP::Lite
-> service('http://192.168.0.46/HelloService.wsdl');

print $service->sayHello() ;
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-26 05:07 @254

Vamos mejorando con las pruebas... Luego de unos ajustes y armando el WSDL manualmente... llegué al punto que valida la estructura o al menos la lee... y trata de ejecutar el HelloServer.pl pero no lo encuentra poniendo la siguiente address, dejando por confirmado que sí está aquí...


<soap:address location="http://192.168.1.42/cgi-bin/HelloServer.pl">
</soap:address>

dando como errorScript Output :
Executing file : C:\clientehello.pl
404 Not Found at C:\clientehello.pl line 10

la otra prueba que realicé es
<soap:address location="http://192.168.1.42/HelloServer.pl">
</soap:address>

en este caso me muestra todo el contenido del HelloServer.pl, la pregunta es ¿¿cómo puedo hacer para que se puedan ejecutar los .pl en el raíz del servidor Apache...??
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Crear archivo WSDL de servicio Perl

Notapor scout » 2011-05-27 12:34 @565

Sigo probando; Ya me estuve por los temas WSDL con un buen tutorial traducido que se rescata bastante información para poder armar el archivo WSDL, pero el pero sigue dando guerra... Si alguno logró conectar con WSDL un cliente en cualquier otro lenguaje, avisar…

link a tutorial de WSDL muy interesante...
http://www.tutorialspoint.com/wsdl/wsdl ... uction.htm
Última edición por explorer el 2011-05-27 12:39 @568, editado 1 vez en total
Razón: wsdl -> WSDL
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Anterior

Volver a Básico

¿Quién está conectado?

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