Pengertian XMLRPC menurut http://www.xmlrpc.com adalah suatu spesifikasi dan set implementasi yang mengijinkan perangkat lunak yang sistem operasi terpisah, berjalan di lingkungan yang berbeda untuk membuat procedure call di internet.
XMLRPC menggunakan HTTP sebagai transport dan XML sebagai encoding. XMLRPC dirancang sesederhana mungkin namun dapat mentransmisikan, memproses dan mengirim balik struktur data yang kompleks.
Dalam spesifikasinya, XMLRPC didefinisikan sebagai suatu protokol pemanggilan prosedur secara remote yang bekerja di lingkungan internet. suatu pesan XMLRPC adalah suatu request HTTP-POST. Body dari request adalah XML. Suatu prosedur mengirimkan pesan ke server dan nilai balikannya juga terformat sebagai XML. Parameter prosedur dapat berupa skalar, angka, string, tanggal dan seterusnya. Dapat pula berupa complex record maupun list structure.
Berikut adalah contoh request XMLRPC :
POST /RPC2 HTTP/1.0
User-Agent: Frontier/5.1.2 (WinNT)
Host: betty.userland.com
Content-Type: text/xml
Content-length: 181
<?xml version=”1.0″?>
<methodCall>
<methodName>examples.getStateName</methodCall>
<params>
<param>
<value><string>Hello Server !</string></value>
</param>
</params>
</methodCall>
yang perlu diperhatikan :
- semua request XMLRPC secara default dikirimkan dengan method POST dan pasti di atas HTTP/1.0,
- bila server yang dituju tidak hanya menangani pemanggilan XMLRPC saja maka format URI-nya harus dituliskan /RPC2 yang akan memberitahukan server untuk mengarahkan request tersebut ke RPC2 responder,
- bila server hanya menangani pemanggilan XMPRPC saja maka URI ini boleh dikosongkan atau hanya berupa slash (karakter garis miring ke kanan),
- User-Agent dan Host harus dituliskan,
- Content-Type adalah text/xml,
- Content-Length harus dituliskan dan harus benar,
- versi XML yang digunakan adalah 1.0,
- dalam sekali pengiriman request XMLRPC hanya dijinkan mengirim satu <methodCall>,
- sebuah <methodCall> dipanggil berdasarkan namanya yang ditulis dalam tag <methodName> yang merupakan suatu string. String ini hanya boleh mengandung karakter-karakter indentifier yaitu : huruf besar dan kecil (A-z), karakter angka (0-9), karakter garis bawah (underscore), titik, colon dan slash,
- jika pemanggil prosedur memiliki parameter maka <methodCall> harus mengandung sebuah sub-items <params>. Sebuah <params> dapat terdiri dari beberapa <param> yang masing-masing memiliki sebuah nilai <value>,
- Tipe data yang dikirimkan ditulis dalam bentuk tag dengan penjelasan masing-masing tipe data seperti berikut ini :
- <i4> atau <int> adalah 4 byte signed integer,
- <bolean> adalah tipe data bolean, 1 untuk true dan 0 untuk false,
- <string> yang tentu anda sudah tahu yaitu tipe data string,
- <double> yaitu double-precision signed floating point number,
- <dateTime.iso8601> adalah tipe data date/time,
- <base64> adalah base64-encoded binary.
Berikut adalah contoh response dari server :
HTTP/1.1 200 OK
Connection: Close
Content-Length: 158
Content-Type: text/xml
Date: Fri, 12 Jan 2007 14:30:32 GMT
Server: UserLand Frontier/5.1.2-WinNt
<?xml version=”1.0″?>
<methodResponse>
<params>
<param>
<value><string>Hello Client !</string></value>
</param>
</params>
</methodResponse>
yang perlu diperhatikan :
- Kecuali ada lower-level error selalu dikembalikan 200 OK,
- Content-Type adalah text/xml,
- Content-Length harus ada dan harus benar,
- Body dari response adalah sebuah struktur XML tunggal <methodResponse>,
- sebuah <methodeResponse> hanya mengandung sebuah <params> yang mengandung sebuah <param> dengan sebuah <value>,
- tipe data dari <value> mungkin berupa <struct>, <int> ataupun <string>.
Dedicated for Light Intermutimedia
Perusahaan Software Pulsa
mw tanya donk.. aku mw akses xmlrpc punya wordpress, gimana caranya? contohnya ada method blogger_getUsersBlogs(string username, string password);
gimana bentuk pemanggilan xmlrpc nya? terima kasih
Handaru menjawab,
Ada banyak tutorial yang ada, salah satunya yang ini :
http://www.tellinya.com
Comment by gita — March 26, 2008 @ 1:52 pm