PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Web Services » XML_RPC » Bug #10186

Error in function serializeval($o)

Details

Submitted2007-02-26 07:44 UTC
Fromivi dot spam at gmail dot com
Assigneddanielc
StatusBogus
PackageXML_RPC
PHP Version4.4.4
OSWindows
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>