The XML-RPC specification defines the following available data types:
Java Type | XML Tag Name | Description |
Integer | i4, or int |
A 32-bit, signed, and non-null, integer value. |
Boolean | boolean | A non-null, boolean value (0, or 1). |
String | string | A string, non-null. |
Double | double | A signed, non-null, double precision, floating point number. (64 bit) |
java.util.Date | dateTime.iso8601 | A pseudo ISO8601 timestamp, like 19980717T14:08:55. However, compared to a true ISO8601 value, milliseconds, and time zone informations are missing. |
byte[] | base64 | A base64 encoded byte array. |
java.util.Map | struct | A key value pair. The keys are strings. The values may be any valid data type, including another map. |
Object[] java.util.List |
array | An array of objects. The array elements may be any valid data type, including another array. The server may return other arrays (for example String[]) or lists (using generics). However, the client will always return an Object[], because the XML-RPC protocol doesn't include between different array types. |
If the property enabledForExtensions is set, then additional data types become valid. (Both client and server do support this property.)
Java Type | XML Tag Name | Description |
None | ex:nil | A typeless null value. |
Byte | ex:i1 | A 8-bit, signed, and non-null, integer value. |
Float | ex:float | A signed, non-null, double precision, floating point number. (32 bit) |
Long | ex:i8 | A 64-bit, signed, and non-null, integer value. |
org.w3c.dom.Node | ex:dom | A DOM node, which is being transmitted as an embedded XML fragment. |
Short | ex:i2 | A 16-bit, signed, and non-null, integer value. |
java.io.Serializable | ex:serializable | An object, which is converted into a serialized representation and transmitted as a base 64 encoded byte array. |
BigDecimal | ex:bigdecimal | A BigDecimal |
BigInteger | ex:biginteger | A BigInteger |
java.util.Calendar | ex:dateTime | Unlike the dateTime.iso8601 type, this is a full blown xs:dateTime value. In particular, it includes milliseconds, and timezone settings. |
In the above table, the prefix ex refers to the namespace URI http://ws.apache.org/xmlrpc/namespaces/extensions.