Home » Web Services » XML_RPC » Bug #10186
Error in function serializeval($o)
Details
| Submitted | 2007-02-26 07:44 UTC |
|---|---|
| From | ivi dot spam at gmail dot com |
| Assigned | danielc |
| Status | Bogus |
| Package | XML_RPC |
| PHP Version | 4.4.4 |
| OS | Windows |
| Roadmaps | (Not assigned) |
Comments
[2007-02-26 07:44 UTC] ivi dot spam at gmail dot com
Description:
------------
XML RPC not working.
Problem in serializeval with Array data
Problem in serializeval function in "if (!is_object($o) || empty($o->me) || !is_array($o->me)) {
return '';
}"
/**
* @return string the data in XML format
*/
function serializeval($o)
{
if (!is_object($o) || empty($o->me) || !is_array($o->me)) {
return '';
}
$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);
return '<value>' . $this->serializedata($typ, $val) . "</value>\n";
}
-----------------------------------------
After small changes like
/**
* @return string the data in XML format
*/
function serializeval($o)
{
if (!is_object($o) || empty($o->me) || !is_array($o->me)) {
return '<value>' . $o . "</value>\n";
}
$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);
return '<value>' . $this->serializedata($typ, $val) . "</value>\n";
}
Working.
[2007-02-27 11:06 UTC] ivi dot spam at gmail dot com
function returnArray($params)
{
$arr = array();
$arr[] = 10;
$arr[] = 11;
$arr[] = 12;
$val = new XML_RPC_Value($arr,'array');
return new XML_RPC_Response($val,0);
}
$serverArr = array();
$serverArr['returnArray']['function']= 'returnArray';
$server = new XML_RPC_Server($serverArr,1);
-----------------------------------------
?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value><array>
<data>
</data>
</array></value>
</param>
</params>
</methodResponse>
--------------------------
After changes
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
<param>
<value><array>
<data>
<value>10</value>
<value>11</value>
<value>12</value>
</data>
</array></value>
</param>
</params>
</methodResponse>