#!perl -w
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::Daemon
->new(LocalPort=>1111,ReuseAddr=>1)
-> dispatch_to('TestWrapper')
-> handle;
package TestWrapper;
use Data::Dumper;
sub new {
my $self = shift;
my $class = ref($self) || $self;
return bless {} => $class;
}
sub put {
my ($self, $key, $val) = @_;
$self->{_HASH}{$key} = $val;
}
sub get {
my ($self, $key) = @_;
return $self->{_HASH}{$key};
}
1;
####
use strict;
use warnings;
use SOAP::Lite;
my $soap = SOAP::Lite
-> uri('http://localhost:1111/TestWrapper')
-> proxy('http://localhost:1111/');
my $t1 = $soap->new();
$t1->put('element1', 'value1');
my $t2 = $soap->new();
$t2->put('element1', 'value2')->result;
printf("t1 : %s\n", $t1->get('element1')->result);
printf("t2 : %s\n", $t2->get('element1')->result);
####
$ perl client.pl
t1 : value2
t2 : value2
####
use TestWrapper;
my $t1 = new TestWrapper;
$t1->put('element1', 'value1');
my $t2 = new TestWrapper;
$t2->put('element1', 'value2');
printf("t1 : %s\n", $t1->get('element1'));
printf("t2 : %s\n", $t2->get('element1'));
####
$ perl standalone.pl
t1 : value1
t2 : value2