简体   繁体   English

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

[英]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. 我正在使用Zend 1.10的XML-RPC客户端库向另一个服务器发出XML-RPC请求。 One of the methods I have to call uses a i8 (aka ex:i8 ) type, ie extended big integer. 我必须调用的方法之一使用i8 (aka ex:i8 )类型,即扩展的大整数。 This is supported in Zend (cf. http://framework.zend.com/apidoc/1.10/Zend_XmlRpc/Value/Zend_XmlRpc_Value_BigInteger.html ). Zend支持此功能(请参阅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: 通过在客户端对象上使用getLastRequest() ,我可以看到它要发送的XML是这样的:

?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. 看起来Zend没有在XML中添加名称空间。 How can I get around this? 我该如何解决? How do I make a XML-RPC method call with i8 / ex:i8 / BigInteger parameter? 如何使用i8 / ex:i8 / BigInteger参数进行XML-RPC方法调用?

As the previous maintainer and original author of the Zend_XmlRpc i8 support I have to admit this looks like a bug to me. 作为Zend_XmlRpc i8支持的先前维护者和原始作者,我不得不承认这对我来说似乎是个错误。 There is currently no way to tell the XML/RPC client to work add the correct namespace declaration. 当前没有任何方法可以告诉XML / RPC客户端添加正确的名称空间声明。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM