use SOAP::Lite;
use SOAP::Transport::HTTP;
$SIG{PIPE} = 'IGNORE';
$daemon = SOAP::Transport::HTTP::Daemon
-> new (LocalPort => 8001, LocalAddr => 'localhost', listen => 5)
-> dispatch_to(qw(demo));
print "Contact to SOAP server at ", $daemon->url, "\n";
$daemon->handle;
####
package demo;
sub new
{
print "called NEW\n";
my $pkg = shift;
my $self = {};
bless($self, $pkg);
return $self;
}
sub DESTROY
{
print "DESTROY - called\n";
}
sub getVal
{
my $self = shift;
print "val = $self->{VAR}\n";
}
sub setVal
{
my $self = shift;
print "set val\n";
$self->{VAR} = shift;
}
####
use SOAP::Lite +autodispatch =>
uri => 'http://localhost/demo',
proxy => 'http://localhost:8001/';
my $obj = demo->new();
$obj->getVal();
$obj->setVal(44);
$obj->getVal();
####
called NEW
DESTROY - called
val =
DESTROY - called
set val
DESTROY - called
val = 44
DESTROY - called