in reply to
Re: SOAP Modules (OO or not?)
in thread SOAP Modules (OO or not?)
I'm probably misunderstanding your post, but you can place method calls on soap objects. At least, on my laptop :)
Here's an object I have in a little script in my cgi-bin:
#!/usr/bin/perl
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI->dispatch_to('Object')->handle;
package Object;
sub new {
my $class = shift;
$class = ref($class) || $class;
return bless { '_cache' => [] }, $class;
}
sub set {
my ( $self, $arg ) = @_;
$self->{'_field'} = $arg;
push @{ $self->{'_cache'} }, $arg;
}
sub get { shift->{'_field'} }
sub all { shift->{'_cache' } }
Here's a simple client:
#!/usr/bin/perl
use strict;
use warnings;
use SOAP::Lite
+autodispatch =>
uri => 'http://www.perlmonks.org/Object',
proxy => 'http://localhost/cgi-bin/soap.pl';
my $obj = Object->new();
for ( qw'So how is it possible that it stores and returns these? ???'
+) {
$obj->set( $_ );
print $obj->get, "\n";
}
print join ' ', @{ $obj->all };
And sure enough, it prints:
So
how
is
it
possible
that
it
stores
and
returns
these?
???
So how is it possible that it stores and returns these? ???
I'm not quite sure how SOAP::Lite does this - some sort of session? And not even under mod_perl or anything, frankly I don't quite get it...