O'Reilly logo

Programming Web Services with XML-RPC by Edd Wilder-James, Joe Johnston, Dave Winer, Simon St. Laurent

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 6. XML-RPC and Python

By combining the rapid development of scripting languages with a carefully designed object-oriented interface, Python is becoming the tool of choice for many programmers on both Windows and Unix platforms. Like Perl, Python has strong string handling and networking tools that make it a good fit for building web applications. Not surprisingly, Python also supports XML-RPC, a no-nonsense web service protocol. Here’s an example of a Python client’s calling a remote procedure, getStateName( )on UserLand’s server:

import xmlrpclib
client = xmlrpclib.Server("http://betty.userland.com")
print "The second state listed on betty is " +  \
       client.examples.getStateName(2)

Although the answer, “Alaska,” is irrelevant, notice that this script needs no additional information to use this service. Not only is the operating system of the server unimportant here, but the implementation language of this service is reduced to the point of trivia.

This chapter shows the details of making XML-RPC client calls in Python and describing the process for setting up standalone XML-RPC servers.

Python Implementations of XML-RPC

As of this writing, only one XML-RPC implementation is archived at the Vaults of Parnassus, the unofficial repository of third-party Python modules (found at http://www.vex.net/parnassus or through a link at http://www.python.org). First released in January 1999, this XML-RPC library is part of the PythonWare software suite produced by Secret Labs in Sweden. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required