php - XMLRPC - Python 服务器,PHP 客户端。没有一致性?

标签 php python xml-rpc rpc

我目前正在尝试为运行特殊服务的 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/

相关文章:

php - 检查用户存在语句是否有效,而电子邮件语句在 PDO 中无效

python - 检查字符串是否包含python中波斯语/阿拉伯语字符以外的字符

objective-c - 在 Cocoa 应用程序中使用 XML-RPC 的最佳方式?

javascript - php & mysql 和 ajax(将图像插入 CRUD 应用程序)

php - 未找到 PECL libzip

python - 如何将带有不带引号的键的字符串转换为 Python 中的字典

python - 如何正确使用for循环从python中的csv绘制多行?

需要 WordPress XMLRPC 建议

rest - 为什么大多数 Web 服务都是 REST 风格的,而不是(也)XML-RPC 风格的?

php - 合并两个 MySQL 查询并将结果相减