عميل PHP Zend XML -RPC - "نوع غير معروف: i8" عند تقديم طلب باستخدام Zend_Crypt_Math_Biginteger؟
-
21-09-2019 - |
سؤال
أنا أستخدم مكتبة عميل 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
معامل؟
لا يوجد حل صحيح
نصائح أخرى
بصفته المشرف السابق والمؤلف الأصلي لـ Zend_XmlRpc
i8 دعم يجب أن أعترف أن هذا يبدو وكأنه خطأ بالنسبة لي. لا توجد حاليًا طريقة لإخبار عميل XML/RPC بالعمل إضافة إعلان مساحة الاسم الصحيح.