I am using XML-RPC as the interface to my project's Java web service, and I need to document it. It's really more than simple documentation. It is intended to be a document that will explain why XML-RPC is being used, how to use it with different languages (we use Java, PHP, Javascript, Perl, C++, and Python), what all the methods do, what they return, and why they might cause a fault (exception). The reasons I am trying to explain every detail are (1) I won't be working on this project for much longer, and (2) some of the developers working on it have no experience with XML-RPC or similar protocols.
The goal of my question is to get suggestions about things I might be missing and how things should be structured. So far I have the following sections outlined:
Why are we using XML-RPC?
Explanation of why we chose XML-RPC over SOAP, etc.
Example XML-RPC transactions
Overall structure of an XML-RPC request/response/fault, with XML snippets. It will be similar to the Wikipedia XML-RPC article, but contained in the document for convenience.
XML-RPC libraries
Links to XML-RPC libraries for various languages we support, as well as examples of how to get up and running quickly.
List of API methods
A detailed description of each exposed method:
- method name
- list of parameters w/ descriptions
- return type and description
- situations in which a fault would be throw
- descriptions of fault codes
All API methods are being documented using XML-RPC data types rather than a language-specific data type/interface like Boolean, List, Map, etc. Since the API is not too large, I am trying to create and share a Google doc with everything in it, so it can be read anywhere and edited by other developers when changes are made to the API.
Any thoughts or suggestions about this, or common mistakes made while documenting an API?