• Publicidad

Cliente webservice en Perl

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Re: Cliente webservice en Perl

Notapor luisbal » 2011-09-23 09:14 @426

Es verdad, me equivoque en el código: el $id que puse en realidad es $idcomercio.

$idcomercio, en este caso 64, es el código que me identifica o autentifica ante el server (además que ellos tienen registrado ya mi IP).

He hecho la prueba nuevamente pero aparece la misma respuesta extensa. ¿Qué puede ser?
luisbal
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2008-09-12 09:36 @442

Publicidad

Re: Cliente webservice en Perl

Notapor explorer » 2011-09-23 09:30 @438

Ni idea. Yo veo que responde, pero no veo resultados. Bueno, quizás porque mi IP no está registrada :)

Tendrás que ponerte en contacto con su administrador, y remitirle el resultado del 'trace' (no el resultado que sale con el Dumper), para que vea que la petición que haces al servidor sea correcta.
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: Cliente webservice en Perl

Notapor luisbal » 2011-09-23 12:10 @548

Muchas gracias por todo, explorer. Ok, le enviaré el trace... pero una última ayuda en este punto: ¿cuál es el trace? Si lo que sale es el Dumper... ¿Cómo hago para obtener el trace? Se trata del código anterior xml que has pegado en tu post?

Gracias otra vez, este foro es de lo mejor que hay.
luisbal
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2008-09-12 09:36 @442

Re: Cliente webservice en Perl

Notapor explorer » 2011-09-23 16:35 @732

La salida del 'debug' gracias al 'trace' es lo que sale a través de la salida estándar (y error estándar).

Si estás ejecutando el programa desde la línea de comandos, es la salida que contiene las cabeceras HTTP, de envío y respuesta del servidor.

Si dejas comentada la línea del Dumper (o la borras), entonces lo verás claramente.

Si ejecutas el programa desde un navegador web, es más complicado, porque esa salida estará en el(los) fichero(s) log del servidor web.
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: Cliente webservice en Perl

Notapor luisbal » 2011-09-27 18:14 @801

Hola, estimado explorer: estuve trasteando el fin de semana revisando códigos y, aunque no consigo una respuesta válida, al menos el Dumper ya me da algún indicio:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$VAR1 = \[
            {
              'Error' => {
                         'text' => 'El parametro IdComercio es obligatorio.',
                         'code' => '1'
                       }
            }
          ];
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


EL PROBLEMA es que no sé por qué me dice eso, cuando el IdComercio lo he especificado. Aquí el script:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. $idcomercio = "64";
  3. $ideditorial = ""; #opcional
  4.  
  5. use SOAP::Lite +trace => 'debug';
  6. use Data::Dumper;
  7.  
  8. $service = SOAP::Lite
  9.    -> uri("http://ws.leer-e.es")
  10.    -> service("http://ws.leer-e.es/wsdl/editorial.wsdl"); # me dijeron use service en vez de proxy
  11.    
  12.  my $param1 = SOAP::Data->name('IdComercio')->value('$idcomercio')->type('int');
  13.  my $param2 = SOAP::Data->name('IdEditorial')->value('$ideditorial')->type('int');
  14.  
  15.  my $result = $service->getEditoriales(
  16.      $param1,
  17.      $param2,
  18.      );
  19.  
  20. print "Content-Type: text/plain\n\n";
  21.  
  22. print $result; #el print $result me arroja "ARRAY(0x9188de4)"
  23. print Dumper \$result;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Alguna solución?
gracias
luisbal
Perlero nuevo
Perlero nuevo
 
Mensajes: 20
Registrado: 2008-09-12 09:36 @442

Re: Cliente webservice en Perl

Notapor explorer » 2011-09-27 20:13 @884

Esto:

'$idcomercio'

y esto

'$ideditorial'

en las líneas 12 y 13 son errores: has colocado variables entre comillas simples, con lo que estás pasando las cadenas de caracteres '$idcomercio' y '$ideditorial', y no los valores de las variables...

Anda... quita esas comillas simples...
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

Anterior

Volver a Intermedio

¿Quién está conectado?

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