I was very happy to stumble upon the XML-RPC interface
which is available for Advogato, as I generally hate to use
a web browser for things that I feel can be done better
programatically (like the functionality on this site). I
therefore began working on a Java program to interface with
this site, using the XML-RPC interface.
The Apache XML-RPC libraries for Java seem quite nice so
far, and I tested out all the methods in a hard coded way
already to see how well they work. Due to the speed of
Advogato, and the type of XML-RPC calls that were
implemented, I think I will need to do a great deal of
caching to make the program work well, and even with that in
place there is a lot of site functionality that isn't
available over XML-RPC
Since this site is certainly not add-driven, I would
like to propose / suggest some additions / modifications to
the XML-RPC interface of Advogato to allow for more robust /
pleasant to look at clients to be written against it's
functionality. Then again, feel free to blow me off as well :)
I suggest the following additions to the Advogato
XML-RPC interface =>
1) As with the diary, methods to get / post articles.
2) Bulk methods, to get a number (X) entries / articles, rather than the one at a time current implementation.
3) A way to interact with the certification system.
4) A way to access the "recent posts" functionality, which I must say is most excellent.
And now relating to the topic of this diary entry, the
XML-RPC implementation here got me into "research mode", and
I wanted to see what other sites / services on the net had
these (or SOAP) interfaces to their functionality (other
than Google, which I had heard about weeks ago, but they
have that "search limit", which it probably necessary from a
resource standpoint, but rather bogus from a programmatic
I looked through the IBM UDDI directory, and also
another SOAP / XML-RPC service registration site, but over
50% of the stuff in there was complete garbage, and of the
stuff that was there, I didn't find anything at all that was
interesting enough to spend my time implementing a client
that worked against it.