ขณะนี้ฉันกำลังพยายามสร้างอินเทอร์เฟซการจัดการเว็บสำหรับคลัสเตอร์ของเซิร์ฟเวอร์ linux ที่ใช้บริการพิเศษ แนวคิดก็คือเว็บไซต์การจัดการสามารถ RPC คลัสเตอร์เพื่อรวบรวมข้อมูล ดำเนินการกำหนดค่า ฯลฯ
ฉันมีสคริปต์ XMLRPC Python Server และทำงานอยู่ และฉันได้เขียนไคลเอนต์ XMLRPC พื้นฐานใน PHP ทุกอย่างใช้งานได้ แต่ฉันมีปัญหาร้ายแรงบางอย่างที่พยายามรับการตอบสนองที่สอดคล้องกันจากการเรียกเมธอด - บางครั้งฉันได้รับอาร์เรย์ XML ไปที่ความลึกที่ n ขึ้นอยู่กับความละเอียดของเอาต์พุตของคำสั่งที่ฉันเรียกใช้ บางครั้งมันเป็นโครงสร้าง XML และบางครั้งก็เป็นเพียงคุณค่าเก่าธรรมดา จากนั้นฉันก็มีข้อผิดพลาดที่ต้องจัดการ - ดูเหมือนว่ามาตรฐาน XMLRPC จะมี Fault struct พร้อมค่า 'faultCode' และ 'faultString' ที่ตอบสนองด้วย ซึ่งดีมากเพราะมันเป็นระเบียบและฉันสามารถดึงข้อมูลนั้นออกมาผ่านคีย์ที่มีชื่อใน XML แต่คุณจะได้รับโครงสร้างนั้นหากข้อผิดพลาดมาจากเชลล์เอง (เช่น หากคำสั่งที่เรียกใช้มีอาร์กิวเมนต์ที่ไม่ถูกต้อง) ในขณะที่ข้อผิดพลาดที่มาจากคำสั่งจะต้องเป็นเพียงการตอบสนอง XML ปกติ
ฉันจะเขียนบริการเว็บที่มีประสิทธิภาพเกี่ยวกับสิ่งที่ดูเหมือนจะเป็นการตอบกลับที่หลากหลายจากเซิร์ฟเวอร์ XMLRPC ได้อย่างไร สิ่งที่ฉันต้องการทำคือให้โครงสร้าง XML เดียวกันตอบกลับทุกครั้งด้วยคีย์เดียวกัน (returnCode (0=success, >1=error), returnValue/s)
ขอบคุณสำหรับคำแนะนำใด ๆ