XmlRpc

RPC using XML.

A protocol initiated by Dave Winer.

http://www.xmlrpc.com/

http://effbot.org/zone/xmlrpc-errata.htm

Edd Dumbill article from 1999

A simpler version of SOAP.

Facing a new competitor called ReST

Some people are looking at XmlRpc for wikis:

http://inessential.com/?comments=1&postid=2991

MeerKat interface http://www.oreillynet.com/pub/a/rss/2000/11/14/meerkat_xmlrpc.html

Some Zope/XmlRpc links


Need to integrate with a business partners, have settled on XML over HTTP. So going to go with XmlRpc for now, largely because it will probably offer more specific examples I can copy from to avoid newbie errors!

Example of returning a "table" of results

I think of an 'array' as a single-column list of values. A 'struct' as a flat table (each 'member' being a row); actually, more like single record, which each 'member' being a name-value pair (field-name and its value). So if I'm passing multiple flat records, that would be an array of structs?

So if I want to send a couple different types of records, with multiple instances of 1 of those types, I might have...

  • an array to represent passing multiple object types

    • a value for each type

      • a single struct for the single record of one type

      • an array of structs for multiple records of a single type

Seeking feedback.

Doh, don't try to figure out the spec, just use the library code! For my case above, I (in Python):

  • started out with a tuple of dictionaries

  • each dictionary's key was the record/object type

  • if only a single instance of a type was allowed to be passed, then that dictionary value would be a dictionary

  • if multiple instances of a certain type might be passed together, then the value of that dictionary would be a tuple of dictionaries

Ironic outcome - partner decided not to do very much interop, and for the one use-case that we did do it, I had to mimic an embedded system and send hex over UDP!


Edited:    |       |    Search Twitter for discussion