PHP Zend XML-RPC客户端 - 使用Zend_Crypt_Math_BigInteger发出请求时出现“未知类型:i8”?

时间:2010-03-23 11:59:37

标签: php zend-framework xml-rpc xml-namespaces zend-xmlrpc

我正在使用Zend 1.10的XML-RPC客户端库向另一台服务器发出XML-RPC请求。我必须调用的方法之一使用i8(a.k.a。ex:i8)类型,即扩展的大整数。 Zend支持这一点(参见http://framework.zend.com/apidoc/1.10/Zend_XmlRpc/Value/Zend_XmlRpc_Value_BigInteger.html)。但是每当我尝试对它进行一些调用时,我都会遇到异常(我认为在它与服务器联系之前)。

exception 'Zend_XmlRpc_Client_FaultException' with message 'Failed to parse XML-RPC request: Unknown type: i8' in /usr/local/myprog/libs/zend/library/Zend/XmlRpc/Client.php:370
Stack trace:
#0 /usr/local/myprog/client.php(102): Zend_XmlRpc_Client->call('methodCall', Array)
#1 {main}

通过在客户端对象上使用getLastRequest(),我可以看到它要发送的XML是:

?xml version="1.0" encoding="UTF-8"?>
<methodCall><methodName>methodCall</methodName><params><param/><param/></params></methodCall>

看起来Zend没有将命名空间添加到XML中。我怎么能绕过这个?如何使用i8 / ex:i8 / BigInteger参数进行XML-RPC方法调用?

1 个答案:

答案 0 :(得分:0)

作为Zend_XmlRpc i8支持的前一位维护者和原作者,我不得不承认这对我来说是一个错误。目前没有办法告诉XML / RPC客户端工作添加正确的命名空间声明。