PHP Zend XML-RPC client - "Unknown type: i8" when making a request with Zend_Crypt_Math_BigInteger?
I am using Zend 1.10's XML-RPC client library to make XML-RPC requests to another server. One of the methods I have to call uses a i8
(a.k.a. ex:i8
) type, i.e. extended big integer. This is supported in Zend (cf. http://framework.zend.com/apidoc/1.10/Zend_XmlRpc/Value/Zend_XmlRpc_Value_BigInteger.html). However whenever I try to make a few calls to it, I get an exception (I think before it contacts the server).
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}
By using getLastRequest()
on the client object I can see that the XML it wants to send is this:
?xml version="1.0" encoding="UTF-8开发者_高级运维"?>
<methodCall><methodName>methodCall</methodName><params><param/><param/></params></methodCall>
It looks like Zend isn't adding the namespaces to the XML. How can I get around this? How do I make a XML-RPC method call with i8
/ex:i8
/BigInteger
parameter?
As the previous maintainer and original author of the Zend_XmlRpc
i8 support I have to admit this looks like a bug to me. There is currently no way to tell the XML/RPC client to work add the correct namespace declaration.
精彩评论