Christopher Browne cbbrowne at
Mon Sep 23 10:20:37 EDT 2002

"Thomas Weholt" <2002 at> wrote:
> SOAP has WSDL to describe a webservice. Doeas XML-RPC have something
> similar?
> Is WDDX the right way to go or have I totally missed the point?
> Ref :

The express intent of XML-RPC is to provide a fairly /minimal/ set of
useful functionality.

Contrast with SOAP, where it's kind of "expressly indicated" that
there will be some nebulous set of "extended standards," where it is
supremely unlikely that anyone would actually be able to implement
them all at once.

The result, with SOAP, is that there's something of a "dog's
breakfast" of implementations, where they may assortedly trumpet:
  "WSDL is supported!"
  "UDDI is supported!"
  "We support 8 alternative transport methods!" (SOAP::Lite for Perl)
  "We support these bits of WSSecurity!"

And every implementation is free (and likely) to choose different bits
to support.  They'll probably /try/ to support WSDL (though support
for that in scripting languages like Perl/Python/Ruby is spotty, at
best); they /might/ support UDDI; other stuff scatters all over the
map, likely only being implemented by Big Vendors...

XML-RPC takes a vastly less ambitious road, not claiming any of that
sort of extensibility.  And so the standard fits on about two pages,
and most implementations provide pretty much complete coverage of it.

There are three fairly common XML-RPC extensions:
"system.listMethods", "system.methodSignature", "system.methodHelp"

These are, in theory, able to provide some WSDL-like information,
albeit being vastly simpler, as XML-RPC eschews the use of XML Schemas
and has no support at all for the "complex schema" of SOAP.

It's not totally evident where WDDX fits in, except as a 'possibly
slightly more convenient way of transferring results of DBMS queries'
than SOAP/XML-RPC.  If you really need the differences between
SOAP/XML-RPC and WDDX< you're probably as well off setting up an XML
'schema' specifically for your application, and transferring around
data as XML documents whose generation and degeneration /you/ control.
(concatenate 'string "cbbrowne" "")
"Starting a project in C/C++ is a premature optimization."
-- Peter Jensen

More information about the Python-list mailing list