This page lists XML-RPC faults that may be thrown by Moodle.
Why do we need so many error codes for this? (See also 7019 unknownerror)
The MNet dispatcher mode is set to "off".
The client doesn't have a public key set.
The signature was invalid.
The request was not signed. (711 used in Moodle 2.0 – present in Moodle 1.9, but unreachable) (7022 used in Moodle 1.9, removed in 2.0)
Some unspecified server-side error occurred (currently only sent when $_SERVER is not set).
The permission checking system gave a result that is unknown. (7019 could also be nosuchfunction)
An unknown client tried to send a request.
An unencrypted request is made that isn't system/keyswap, and plaintext_is_ok is not set for the client.
The server receives an RPC call that cannot be decrypted with the current or any past keys.
Although this is in the code, it doesn't look like it will ever be called, because it only happens when the server has already determined that the request was encrypted. (See also 7021 forbidden-transport) (Removed in Moodle 2.0)
7025 (public key)
Sent when the client has encrypted their request using an old key. The faultString is set to the new certificate in PEM format, and it should be signed with the old private key.