Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Soy nuevo por el foro y en el mundo de Perl, estoy haciendo ejemplos para usar el módulo SOAP::Lite, y me he encontrado con el siguiente problema:
Tengo un servidor con una clase Temperatura con orientación a objetos:
Using perl Syntax Highlighting
- use SOAP::Transport::HTTP;
- #use Temperatures;
- package servidor;
- my $daemonio = SOAP::Transport::HTTP::Daemon->new(
- LocalAddr => 'localhost',
- LocalPort => 8045
- )->dispatch_to( '', 'Temperatures' );
- package Temperatures;
- sub f2c {
- my ( $class, $f ) = @_;
- return 5 / 9 * ( $f - 32 );
- }
- sub c2f {
- my ( $class, $c ) = @_;
- return 32 + $c * 9 / 5;
- }
- sub new {
- my $self = shift;
- my $class = ref($self) || $self;
- bless { _temperature => shift } => $class;
- }
- sub as_fahrenheit {
- return shift->{_temperature};
- }
- sub as_celsius {
- return 5 / 9 * ( shift->{_temperature} - 32 );
- }
- sub prueba {
- return 10;
- }
- $daemonio->handle();
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Y por otro lado tengo un cliente con autodispatch, que es el siguiente:
Using perl Syntax Highlighting
- use strict;
- use SOAP::Lite +autodispatch =>
- uri => 'http://localhost:8044/Temperatures',
- proxy => 'http://localhost:8044/';
- print Temperatures->c2f(22), "\n";
- my $temperatures = Temperatures->new();
- print $temperatures;
- print $temperatures->as_fahrenheit();
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El problema es que cuando hago $temperatures->as_fahrenheit() me da el siguiente error:
Using text Syntax Highlighting
Not a HASH reference at C:/Perl64/site/lib/SOAP/Lite.pm line 3755.
Y no sé por qué pasa. Si alguien tiene alguna solución...
¡¡Gracias y saludos!!