我目前正在尝试为运行特殊服务的 Linux 服务器集群构建一个基于 Web 的管理界面。这个想法是管理网站可以通过 RPC 集群来收集信息、执行配置任务等。
我已经启动并运行了一个 XMLRPC Python 服务器脚本,并且用 PHP 编写了一个基本的 XMLRPC 客户端。这一切都有效,但我在尝试从方法调用获得一致的响应时遇到了一些严重的问题 - 有时我根据我运行的命令输出的详细程度获得第 n 个深度的 XML 数组,有时它是一个 XML 结构,有时它只是一个简单的旧值。然后我有错误需要处理 - 似乎 XMLRPC 标准有一个带有“faultCode”和“faultString”值的故障结构,它会响应,这很好,因为那很整洁,我可以通过命名键提取该数据XML。但是,只有当错误来自 shell 本身时(例如,如果调用的命令有错误的参数),您才会获得该结构,而来自命令的错误必须只是普通的 XML 响应。
我怎样才能围绕来自 XMLRPC 服务器的如此不同的回复编写一个健壮的 Web 服务?我真正想做的是每次都使用相同的键回复完全相同的 XML 结构(returnCode(0=成功,>1=错误),returnValue/s)。
感谢您的建议。
最佳答案
也许从现有的 XML/RPC 客户端开始,让客户端完成协议(protocol)跑腿工作。 Zend Framework 中有 Zend\XmlRpc
,但也有独立客户端,如 fxmlrpc .
关于php - XMLRPC - Python 服务器,PHP 客户端。没有一致性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4711568/