Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.

Re: Re: Using Perl's SOAP::Lite to talk to Python

by Matts (Deacon)
on Jul 18, 2002 at 07:46 UTC ( [id://182726] : note . print w/replies, xml ) Need Help??

in reply to Re: Using Perl's SOAP::Lite to talk to Python
in thread Using Perl's SOAP::Lite to talk to Python

Well you can actually do this, but the client needs to support using the object as a Flyweight object. This is exactly why the Perl client worked, as it does support flyweights directly - most (maybe all) other SOAP implementations don't, so you have to implement that yourself.

Basically all a flyweight does in this case is holds an object ID, and on the server end the SOAP server holds a list of pre-constructed objects matched to IDs. When your client wants to call a method on that object-id, AUTOLOAD kicks in and asks the remote end for the right method on the object matching that id value.

Then there's some stuff about Object reaping that you don't need to worry too much about.

Hope that helps - the soaplite list is a really good place to ask these sorts of questions.

Replies are listed 'Best First'.
Re: Re: Re: Using Perl's SOAP::Lite to talk to Python
by mitd (Curate) on Jul 18, 2002 at 17:22 UTC
    The fact that Ovid's app broke as soon as a non-SOAP::Lite client was used is proof to me that using these SOAP::Lite specific features is only a good idea in closed environments.

    Its inevitable that folks will use SOAP to build' yet another distributed object framework'. Eric Raymond points out in this open letter why this probably not a good idea.

    mitd-Made in the Dark
    'Interactive! Paper tape is interactive!
    If you don't believe me I can show you my paper cut scars!'