Cocoa XML-RPC Client

Lavorare in maniera agevole con l'obiettivo di portare a termine i propri "task" nel minor tempo possibile è desiderio di tutti, per questo è necessaria la "borsa degli attrezzi". Per chi, come il sottoscritto che lavora nel mondo dell'Information Tecnology, fa del proprio Mac la sua "stazione di lavoro" desidero proporre uno strumento (ovviamente per Mac) che reputo molto utile.

XML-RPC Client è uno strumento basato su Cocoa (sviluppato da Todd Ditchendorf http://twitter.com/itod http://www.linkedin.com/in/itod47) per Mac OS X che consente l'accesso e il debug di servizi web basati sul protocollo XML-RPC utilizzando una semplice interfaccia grafica. Ecco un breve elenco delle funzionalità (estratte dal portale http://ditchnet.org/xmlrpc/) offerte dallo strumento:

  • Universal Binary. XML-RPC Client now runs natively on both PPC and Intel Macs;
  • Find panel for Response Object text area Now you can use the standard Cocoa find panel to search for strings in the response Object text area. Much better;
  • Cool new support for the XML-RPC base64 data type;
  • Support for the XML-RPC dateTime.iso8601 data type;
  • Multi-window application (Document-based, in Cocoa developer terms);

Di seguito una serie di screenshot che illustrano lo strumento all'opera. Ho eseguito una serie di test sui servizi XML-RPC wp forniti da WordPress.com, in particolare:

  • wp.getUsersBlogs. Retrieve the blogs of the users;
  • wp.getTags. Get list of all tags.

Subito dopo gli screenshot sono illustrati alcuni esempi dei flussi di richiesta e risposta per i servizi XML-RPC utilizzati negli esempi.

Lo strumento che ho brevemente illustrato è di uso immediato (ready to run), necessita però di qualche altro miglioramento. Restando in tema XML-RPC è comunque possibile costruire il proprio client o server XML-RPC utilizzando le librerie (o framework) più conosciute disponibili per qualunque piattaforma. Alla pagina XML-RPC (en version - http://en.wikipedia.org/wiki/XML-RPC#Implementations) di Wikipedia troverete una lista completa delle implementazioni di questo protocollo. Riporto dei link che puntano a delle risorse interessanti riguardo XML-RPC:

Response wp.getUsersBlogs XML RPC API

Response wp.getUsersBlogs XML RPC API

Response wp.getUsersBlog XML RPC API (in Object view mode)

Response wp.getUsersBlog XML RPC API (in Object view mode)

Response of wp.getTags XML RPC API (in Object view mode)

Response of wp.getTags XML RPC API (in Object view mode)

Esempio XML Request for wp.getUsersBlogs.

<methodCall>
 <methodName>wp.getUsersBlogs</methodName>
 <params>
 <param>
 <value>
 <string>musarra</string>
 </value>
 </param>
 <param>
 <value>
 <string>xxxxxxxx</string>
 </value>
 </param>
 </params>
</methodCall>

Esempio XML Response for wp.getUsersBlogs

<methodResponse>
 <params>
 <param>
 <value>
 <array>
 <data>
 <value>
 <struct>
 <member>
 <name>isAdmin</name>
 <value>
 <boolean>1</boolean>
 </value>
 </member>
 <member>
 <name>url</name>
 <value>
 <string>http://musarra.wordpress.com/</string>
 </value>
 </member>
 <member>
 <name>blogid</name>
 <value>
 <string>9531285</string>
 </value>
 </member>
 <member>
 <name>blogName</name>
 <value>
 <string>Antonio Musarra's Blog</string>
 </value>
 </member>
 <member>
 <name>xmlrpc</name>
 <value>
 <string>http://musarra.wordpress.com/xmlrpc.php</string>
 </value>
 </member>
 </struct>
 </value>
 </data>
 </array>
 </value>
 </param>
 </params>
</methodResponse>

Esempio di risposta wp.getTags in Object Notation

(
 {
 count = 1;
 "html_url" = "http://musarra.wordpress.com/tag/adsl/";
 name = ADSL;
 "rss_url" = "http://musarra.wordpress.com/tag/adsl/feed/";
 slug = adsl;
 "tag_id" = 1277;
 },
 {
 count = 1;
 "html_url" = "http://musarra.wordpress.com/tag/agenzia-entrate/";
 name = "Agenzia Entrate";
 "rss_url" = "http://musarra.wordpress.com/tag/agenzia-entrate/feed/";
 slug = "agenzia-entrate";
 "tag_id" = 2111537;
 },
 {
 count = 1;
 "html_url" = "http://musarra.wordpress.com/tag/agpf-4-5/";
 name = "AGPF 4.5";
 "rss_url" = "http://musarra.wordpress.com/tag/agpf-4-5/feed/";
 slug = "agpf-4-5";
 "tag_id" = 31670418;
 },

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

You may also like...