XML-RPCXML-RPC è un protocollo utilizzato in informatica che permette di eseguire delle chiamate a procedure remote (RPC) attraverso la rete Internet. Questo protocollo si basa sullo standard XML per codificare la richiesta che viene trasportata mediante il protocollo HTTP o HTTPS. Nonostante la sua semplicità, permette di trasmettere strutture dati complesse, chiederne l'esecuzione e averne indietro il risultato. UtilizzoXML-RPC funziona inviando una richiesta HTTP al server che implementa il protocollo. Il client in questo caso è tipicamente del software che vuole invocare un singolo metodo su di un sistema remoto. Al metodo remoto possono essere passati parametri di input multipli e viene restituito un solo valore di ritorno. I tipi di parametri permettono di nidificare i parametri stessi in liste e mappe, in modo da poter trasportare strutture di più grandi dimensioni. Quindi XML-RPC può essere utilizzato per trasportare oggetti o strutture sia come parametri di input che per restituire i valori di output. L'"identificazione" del client per scopi di autorizzazione può essere ottenuta utilizzando i noti metodi di sicurezza di HTTP. Per l'identificazione viene utilizzata la basic access authentication, HTTPS viene invece utilizzato quando si ha necessità di identificazione (attraverso certificati) e messaggi criptati. Entrambi i metodi possono comunque essere combinati. A differenza di REST, in cui vengono trasferite "rappresentazioni di risorse" (documenti) XML-RPC è progettato per "invocare metodi". XML-RPC è più semplice da utilizzare e da capire rispetto a SOAP perché:
JSON-RPC è molto simile ad XML-RPC, la differenza sostanziale sta nel fatto che i dati vengono incapsulati in pacchetti JSON anziché XML. Tipi di datoI tipi di dato più comuni possono essere convertiti nel loro equivalente XML secondo gli esempi mostrati di seguito:
EsempiUn esempio di richiesta XML-RPC tipica può essere: <?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value><i4>40</i4></value>
</param>
</params>
</methodCall>
Se la richiesta va in porto, XML-RPC produrrà una risposta del tipo: <?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><string>South Dakota</string></value>
</param>
</params>
</methodResponse>
Altrimenti la risposta sarà del tipo: <?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>4</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Troppi parametri.</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
Voci correlateCollegamenti esterni
|
Portal di Ensiklopedia Dunia