Chapter 3. Known bugs

This is a bare framework. The "nice" bits haven't been put in yet. Specifically, very little type validation or coercion has been put in. PHP being a loosely-typed language, this is going to have to be done explicitly.

dateTime.iso8601 is supported opaquely. It can't be done natively as the XML-RPC specification explicitly forbids passing of timezone specifiers in ISO8601 format dates. You can, however, use the iso8601_encode() and iso8601_decode() functions to do the encoding and decoding for you.

Only HTTP 1.0 is supported for non-SSL requests, and very little HTTP response checking is performed (e.g. HTTP redirects are not followed). There is no support for proxies or cookies.

If a specific character set encoding is sent in the HTTP header or XML prologue then it will be ignored for the moment. We speak only UTF-8 (or ISO-8859-1, but only one encoding at a time. See the definition of xmlrpc_defencoding for more details)

If more than 32k of HTTP headers are encountered (like, why?) then the response parsing code will break.

XML-RPC booleans are not decoded to PHP native boolean type, but to 0 and 1 instead, since boolean is not a supported type in PHP 3.

A PHP warning will be generated in many places when using xmlrpc.inc and xmlrpcs.inc with PHP 5. The simplest workaround to this problem is to lower the error_reporting level in php.ini.