<HTML ><HEAD ><TITLE >XML-RPC HOWTO</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.63 "><LINK REL="NEXT" TITLE="Legal Notice" HREF="xmlrpc-howto-legal.html"></HEAD ><BODY CLASS="article" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="ARTICLE" ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" ><A NAME="AEN3" >XML-RPC HOWTO</A ></H1 ><DIV CLASS="authorgroup" ><A NAME="AEN6" ></A ><H3 CLASS="author" ><A NAME="AEN7" >Eric Kidd</A ></H3 ><DIV CLASS="affiliation" ><SPAN CLASS="orgname" >Source Builders<BR></SPAN ><DIV CLASS="address" ><P CLASS="address" >eric.kidd@pobox.com</P ></DIV ></DIV ><H3 CLASS="author" ><A NAME="AEN14" >And Other Contributors</A ></H3 ></DIV ><P CLASS="copyright" >Copyright © 2001 by Eric Kidd</P ><P CLASS="pubdate" >0.8.0, 2001-04-12<BR></P ><DIV CLASS="revhistory" ><TABLE WIDTH="100%" BORDER="0" ><TR ><TH ALIGN="LEFT" VALIGN="TOP" COLSPAN="3" ><B >Revision History</B ></TH ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.8.0</TD ><TD ALIGN="LEFT" >2001-04-12</TD ><TD ALIGN="LEFT" ></TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Updated section on common interfaces. Added pointer to XML-RPC.Net information.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.7.0</TD ><TD ALIGN="LEFT" >2001-04-03</TD ><TD ALIGN="LEFT" ></TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Added section on C++ proxy classes.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.6.0</TD ><TD ALIGN="LEFT" >2001-02-02</TD ><TD ALIGN="LEFT" ></TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Added sections on Ruby, K and common interfaces.</TD ></TR ><TR ><TD ALIGN="LEFT" >Revision 0.5.0</TD ><TD ALIGN="LEFT" >2001-01-23</TD ><TD ALIGN="LEFT" ></TD ></TR ><TR ><TD ALIGN="LEFT" COLSPAN="3" >Initial version.</TD ></TR ></TABLE ></DIV ><DIV ><DIV CLASS="abstract" ><A NAME="AEN19" ></A ><P ></P ><P >Describes how to use XML-RPC to implement clients and servers in a variety of languages. Provides example code in Perl, Python, C, C++, Java, PHP and other languages. Includes sections on Zope and KDE 2.0. Applies to all operating systems with XML-RPC support.</P ><P ></P ></DIV ></DIV ><HR></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >1. <A HREF="xmlrpc-howto-legal.html" >Legal Notice</A ></DT ><DT >2. <A HREF="xmlrpc-howto-intro.html" >What is XML-RPC?</A ></DT ><DD ><DL ><DT >2.1. <A HREF="xmlrpc-howto-intro.html#xmlrpc-howto-spec" >How it Works</A ></DT ><DT >2.2. <A HREF="xmlrpc-howto-intro.html#xmlrpc-howto-types" >Supported Data Types</A ></DT ><DT >2.3. <A HREF="xmlrpc-howto-intro.html#xmlrpc-howto-history" >The History of XML-RPC</A ></DT ></DL ></DD ><DT >3. <A HREF="xmlrpc-howto-competition.html" >XML-RPC vs. Other Protocols</A ></DT ><DD ><DL ><DT >3.1. <A HREF="xmlrpc-howto-competition.html#xmlrpc-howto-corba" >XML-RPC vs. CORBA</A ></DT ><DT >3.2. <A HREF="xmlrpc-howto-competition.html#xmlrpc-howto-dcom" >XML-RPC vs. DCOM</A ></DT ><DT >3.3. <A HREF="xmlrpc-howto-competition.html#xmlrpc-howto-soap" >XML-RPC vs. SOAP</A ></DT ></DL ></DD ><DT >4. <A HREF="xmlrpc-howto-interfaces.html" >Common XML-RPC Interfaces</A ></DT ><DD ><DL ><DT >4.1. <A HREF="xmlrpc-howto-interfaces.html#xmlrpc-howto-api-introspection" >Introspection: Discovering Server APIs</A ></DT ><DT >4.2. <A HREF="xmlrpc-howto-interfaces.html#xmlrpc-howto-api-boxcarring" >Boxcarring: Sending Multiple Requests at Once</A ></DT ></DL ></DD ><DT >5. <A HREF="xmlrpc-howto-api.html" >A Sample API: <TT CLASS="function" >sumAndDifference</TT ></A ></DT ><DT >6. <A HREF="xmlrpc-howto-perl.html" >Using XML-RPC with Perl</A ></DT ><DD ><DL ><DT >6.1. <A HREF="xmlrpc-howto-perl.html#xmlrpc-howto-perl-client" >A Perl Client</A ></DT ><DT >6.2. <A HREF="xmlrpc-howto-perl.html#xmlrpc-howto-perl-server" >A Stand-Alone Perl Server</A ></DT ><DT >6.3. <A HREF="xmlrpc-howto-perl.html#xmlrpc-howto-perl-cgi" >A CGI-Based Perl Server</A ></DT ></DL ></DD ><DT >7. <A HREF="xmlrpc-howto-python.html" >Using XML-RPC with Python</A ></DT ><DD ><DL ><DT >7.1. <A HREF="xmlrpc-howto-python.html#xmlrpc-howto-python-client" >A Python Client</A ></DT ></DL ></DD ><DT >8. <A HREF="xmlrpc-howto-c.html" >Using XML-RPC with C and C++</A ></DT ><DD ><DL ><DT >8.1. <A HREF="xmlrpc-howto-c.html#xmlrpc-howto-c-client" >A C Client</A ></DT ><DT >8.2. <A HREF="xmlrpc-howto-c.html#xmlrpc-howto-cc-client" >A C++ Client</A ></DT ><DT >8.3. <A HREF="xmlrpc-howto-c.html#xmlrpc-howto-cc-proxy" >A C++ Client with Proxy Classes</A ></DT ><DT >8.4. <A HREF="xmlrpc-howto-c.html#xmlrpc-howto-c-cgi" >A CGI-Based C Server</A ></DT ></DL ></DD ><DT >9. <A HREF="xmlrpc-howto-java.html" >Using XML-RPC with Java</A ></DT ><DD ><DL ><DT >9.1. <A HREF="xmlrpc-howto-java.html#xmlrpc-howto-java-client" >A Java Client</A ></DT ><DT >9.2. <A HREF="xmlrpc-howto-java.html#xmlrpc-howto-java-server" >A Stand-Alone Java Server</A ></DT ></DL ></DD ><DT >10. <A HREF="xmlrpc-howto-php.html" >Using XML-RPC with PHP</A ></DT ><DD ><DL ><DT >10.1. <A HREF="xmlrpc-howto-php.html#xmlrpc-howto-php-client" >A PHP Client</A ></DT ><DT >10.2. <A HREF="xmlrpc-howto-php.html#xmlrpc-howto-php-server" >A PHP Server</A ></DT ></DL ></DD ><DT >11. <A HREF="xmlrpc-howto-dotnet.html" >Using XML-RPC with Microsoft .NET</A ></DT ><DT >12. <A HREF="xmlrpc-howto-ruby.html" >Using XML-RPC with Ruby</A ></DT ><DD ><DL ><DT >12.1. <A HREF="xmlrpc-howto-ruby.html#xmlrpc-howto-ruby-client" >A Ruby Client</A ></DT ><DT >12.2. <A HREF="xmlrpc-howto-ruby.html#xmlrpc-howto-ruby-server" >A Ruby Server</A ></DT ></DL ></DD ><DT >13. <A HREF="xmlrpc-howto-proprietary.html" >Using XML-RPC with Proprietary Languages</A ></DT ><DD ><DL ><DT >13.1. <A HREF="xmlrpc-howto-proprietary.html#xmlrpc-howto-k" >Using XML-RPC with K</A ></DT ></DL ></DD ><DT >14. <A HREF="xmlrpc-howto-applist.html" >Applications with Built-in XML-RPC Support</A ></DT ><DD ><DL ><DT >14.1. <A HREF="xmlrpc-howto-applist.html#xmlrpc-howto-zope" >Zope</A ></DT ><DT >14.2. <A HREF="xmlrpc-howto-applist.html#xmlrpc-howto-kde" >KDE 2.0</A ></DT ></DL ></DD ><DT >15. <A HREF="xmlrpc-howto-about.html" >About This Document</A ></DT ><DD ><DL ><DT >15.1. <A HREF="xmlrpc-howto-about.html#xmlrpc-howto-versions" >New Versions of This Document</A ></DT ><DT >15.2. <A HREF="xmlrpc-howto-about.html#xmlrpc-howto-contributors" >Contributors to the XML-RPC HOWTO</A ></DT ><DT >15.3. <A HREF="xmlrpc-howto-about.html#xmlrpc-howto-submitting" >Submitting Other Snippets</A ></DT ></DL ></DD ></DL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="xmlrpc-howto-legal.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Legal Notice</TD ></TR ></TABLE ></DIV ></BODY ></HTML >