Fwd: [XML-SIG] xmlpickle.py ?!

Ken MacLeod ken@bitsko.slc.ut.us
09 Aug 2000 09:31:14 -0500


Jim Fulton <jim@digicool.com> writes:

> "M.-A. Lemburg" wrote:
> > I wonder how well SOAP would handle pickling arbitrary
> > Python objects...
> 
> In particular, I wonder if it tries to be complete. I haven't really
> looked at SOAP lately. In my experience, RPC mechanisms don't really
> need or try to handle arbitrarily complex objects.  OTOH, lots of
> applications don't need complete transfer.

In SOAP v1.1, SOAP was logically split in to four components.  The
four are: message envelope, encoding, HTTP binding, and RPC headers.

The part most important for pickling is Section 5, Encoding.
<http://www.msdn.microsoft.com/xml/general/soapspec.asp>

SOAP has an extensible typing system, basically you supply some kind
of interoperable type name for every object you want to send.
"Interoperable" simply means some kind of mapping, say, between the Py
module/class name and an XML one (it doesn't somehow magically make
all language type systems compatible).

Extremely complex object types require someone to sit down and write a
model for how to map the object in to SOAP encoding rules, and then
publish that so people with similar complex object implementations can
share the mapping model.

Unfortunately, Py's Mapping type falls in to the "complex object type"
as far as the current SOAP spec goes.  I don't recall if anyone has
created a model for pickling mappings that allow keys of any type.
(SOAP _does_ do "basic" mappings well, as long as the keys are strings
[like object attributes] and the keys are valid XML element names.)

  -- Ken