Un'istanza ServerProxy ha un metodo corrispondente per ogni chiamata di procedura remota accettata dal server XML-RPC. La chiamata al metodo esegue un RPC, comunicato sia dal nome che da una firma di argomento (per esempio lo stesso nome di metodo può essere sovrascritto con firme di argomenti multipli). L'RPC finisce restituendo un valore, che dovrebbe essere o il dato restituito come tipo conforme o un oggetto Fault o ProtocolError che indicano un errore.
I server che supportano le API di introspezione XML, supportano anche alcuni metodi comuni raggruppati sotto la voce membri system riservati:
) |
name) |
Siccome sono permesse firme multiple (come la sovrascrittura), questo metodo restituisce una lista di firme diverse anziché una sola.
Le firme, sono ristrette ai parametri del livello principale che si attendono dal metodo. Per esempio, se un metodo attende un array di strutture come parametro, e restituisce una stringa, la sua firma è semplicemente "string, array". Se attende tre interi e restituisce una stringa, la sua firma è "string, int, int, int".
Se non sono definite firme per questo metodo, viene restituito un valore non-array. In Python questo significa che il tipo del valore restituito è qualcosa di diverso da quello lista.
name) |
I metodi di introspezione vengono correntemente supportati dai server scritti in PHP, C e Microsoft .NET. Il supporto parziale all'introspezione è incluso nei recenti update di UserLand Frontier. Il supporto per l'introspezione per Perl, Python e Java è disponibilie nelle pagine di Hacking di XML-RPC.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.