XMLRPC - Server Python, Klien PHP. Tidak ada konsistensi?

Saat ini saya sedang mencoba membangun antarmuka manajemen berbasis web untuk sekelompok server linux yang menjalankan layanan khusus. Idenya adalah bahwa situs web manajemen dapat melakukan RPC cluster untuk mengumpulkan informasi, melakukan tugas konfigurasi, dll.

Saya telah menjalankan dan menjalankan skrip XMLRPC Python Server, dan saya telah menulis Klien XMLRPC dasar dalam PHP. Semuanya berfungsi, tetapi saya mengalami beberapa masalah serius saat mencoba mendapatkan respons yang konsisten dari pemanggilan metode - Terkadang saya mendapatkan array XML hingga kedalaman ke-n berdasarkan verbositas output dari perintah yang saya jalankan, terkadang itu adalah struktur XML , dan terkadang itu hanya nilai lama. Lalu saya punya kesalahan yang harus ditangani - Tampaknya standar XMLRPC memiliki struct Fault dengan nilai 'faultCode' dan 'faultString' yang ditanggapinya, yang sangat bagus karena rapi dan saya dapat menarik data itu melalui kunci bernama di XMLnya. Tetapi Anda hanya mendapatkan struct itu jika kesalahan berasal dari shell itu sendiri (misalnya jika perintah yang dipanggil memiliki argumen yang buruk), sedangkan kesalahan yang berasal dari perintah harus berupa respons XML normal.

Bagaimana saya bisa menulis layanan web yang kuat dengan balasan yang tampaknya beragam dari server XMLRPC? Apa yang benar-benar ingin saya lakukan adalah mendapatkan balasan struct XML yang sama persis setiap kali dengan Kunci yang sama (returnCode (0=success, >1=error), returnValue/s).

Terima kasih atas sarannya.


person S.Richmond    schedule 17.01.2011    source sumber
comment
amp-protocol.net   -  person nosklo    schedule 17.01.2011
comment
Ah terima kasih. Protokol ini sepertinya cukup bagus, saya akan selidiki lebih lanjut.   -  person S.Richmond    schedule 18.01.2011


Jawaban (1)


Mungkin memulai dengan klien XML/RPC yang sudah ada dan membiarkan klien melakukan kerja keras protokol. Ada Zend\XmlRpc di Zend Framework tetapi juga klien mandiri seperti fxmlrpc.

person Lars Strojny    schedule 30.03.2013