in reply to (jeffa) Re: SOAP::Lite dispatch routine
in thread SOAP::Lite dispatch routine
Yes, Perl objects are just a blessed references, but they may have inner objects which in turn may have other inner objects .. which may have xsub references in them or even open file descriptors. And that is a kind of my case. Every persistent object ($object) has in it a reference to its storage object. And that storage object includes an open (and bound) handle to LDAP storage.
And No, your example will not work in any elegant way if you want to modify an object. Look at an example.
I have fetched $object by use of instantiate() method as you suggested. But as the object is just a plain hash, it has no connection with original object on server. Modification of this object will no modify server-side object. Too bad. No persistence.use strict; use SOAP::Lite; use Data::Dumper; my $soap = SOAP::Lite ->uri("http://127.0.0.1/Factory") ->proxy("http://127.0.0.1/mod_soap"); my $object = $soap->instantiate('My::User','5')->result; print Dumper $object; #$VAR1 = bless( { # 'artist' => 'Van Halen', # 'title' => 'You Really Got Me', # 'id' => '5', # 'year' => '1999' hmm, aparently wrong # }, 'My::User' ); $object->year(1978); # modify the year # aaaagrh, it does not work!
What I'm trying to achieve is to get a 'proxy object' or a 'remote reference' on the SOAP client side. Something that I call $object->year(2002), it will call year() method on the original server-side object. This is more like CORBA IORs work.
Passing object by reference, not by value.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: (jeffa) Re: SOAP::Lite dispatch routine
by lachoy (Parson) on Jan 05, 2002 at 01:40 UTC | |
(jeffa) 3Re: SOAP::Lite dispatch routine
by jeffa (Bishop) on Jan 04, 2002 at 22:03 UTC |