495 lines
6.9 KiB
HTML
495 lines
6.9 KiB
HTML
<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
|
|
> |