• Publicidad

Envíos SMS

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

Re: Envíos SMS

Notapor explorer » 2010-07-08 14:16 @636

No he manejado para nada el XML-RPC, pero te puedo dar pistas.

Lo que estás viendo, lo del ARRAY(xxxxx) da a entender que $res contiene una referencia a un array. Lo más seguro es que esté almacenando el resultado de la llamada al procedimiento remoto. Y también, lo más seguro, es que ese resultado sea dependiente de cada llamada.

Una forma fácil de ver el contenido es usando a nuestro amigo Data::Dumper.

Pon esto:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $res = $client->call("Tqwea.SendMsg",[@params]);
use Data::Dumper;
print Dumper($res);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Y así verás el contenido real de $res. Si puedes, mándanos un ejemplo de lo que sale. Si hay datos personales, falséalos.

Una vez que sepamos qué es lo que contiene $res, ya sabremos cómo acceder a ellos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Envíos SMS

Notapor Rivert Villanueva » 2010-07-08 16:15 @719

Explorer:
Gracias por la respuesta.
Agregué el script que me enviaste y tengo esta respuesta en pantalla.

---- request ----
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0"?>
  2. <methodCall>
  3. <methodName>Tiaxa.SendMsg</methodName>
  4. <params>
  5. <param><value><array><data>
  6. <value><struct>
  7. <member><name>celular</name><value><string>1990000000</string></value>
  8. </member>
  9. <member><name>fecha</name><value><string></string></value>
  10. </member>
  11. <member><name>texto</name><value><string>17:15:27 Prueba :6</string></value>
  12. </member>
  13. </struct></value>
  14. </data></array></value>
  15. </param>
  16. </params>
  17. </methodCall>
  18.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
---- response ----
Sintáxis: [ Descargar ] [ Ocultar ]
Using xml Syntax Highlighting
  1. <?xml version="1.0" encoding="ISO-8859-1"?><methodResponse><params><param><value><array><data><value>0</value><value>OK
  2. </value></data></array></value></param></params></methodResponse>$VAR1 = [
  3.           '0',
  4.           'OK'
  5.         ];
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Rivert Villanueva
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2009-09-28 16:29 @729

Re: Envíos SMS

Notapor explorer » 2010-07-08 16:29 @729

Bien, como puedes ver, $res contiene lo mismo que la respuesta XML: un array con dos valores.

Una forma de acceder al contenido de $res:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print $res->[1];
print "\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Eso sí, esto puedes hacerlo porque suponemos que cualquier respuesta de la ejecución tenga ese aspecto, en forma de una referencia a un array. Si la respuesta es de otra forma, pues entonces deberás interpretar lo que te devuelve.

Yo sería partidario de seguir interpretando la respuesta XML que recibo, en lugar de la estructura Perl que la almacena. Pero si sé que siempre me devuelve la misma estructura de datos, entonces sin duda prefiero usar la $res.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Envíos SMS

Notapor Rivert Villanueva » 2010-07-11 00:47 @074

Gracias explorer, me sirvió mucho lo que me enviaste.
Rivert Villanueva
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2009-09-28 16:29 @729

Anterior

Volver a Básico

¿Quién está conectado?

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

cron