Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^2: SOAP Modules (OO or not?)

by rvosa (Curate)
on Jul 29, 2007 at 00:03 UTC ( #629351=note: print w/ replies, xml ) Need Help??


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...


Comment on Re^2: SOAP Modules (OO or not?)
Select or Download Code
Re^3: SOAP Modules (OO or not?)
by perrin (Chancellor) on Jul 30, 2007 at 13:22 UTC
    I suspect SOAP::Lite is doing some additional work to serialize the blessing of the hash and move the hash back and forth when you call methods on it. I doubt this will work if you try to call it from another language, since AFAIK the SOAP spec doesn't support this.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://629351]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (9)
As of 2014-12-21 19:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (106 votes), past polls