Използвам XML-RPC клиентската библиотека на Zend 1.10, за да правя XML-RPC заявки към друг сървър. Един от методите, които трябва да извикам, използва тип i8
(известен още като 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. Как мога да заобиколя това? Как да направя извикване на XML-RPC метод с параметър i8
/ex:i8
/BigInteger
?