Home » Web Services » XML_RPC » Bug #7819
Wrong Reponse on '-1' -String
Details
| Doc Bug #7819 | Wrong Reponse on '-1' -String |
|---|---|
| Submitted | 2006-06-06 08:36 UTC |
| From | mra at deltaz dot com |
| Assigned | cweiske |
| Status | Closed |
| Package | XML_RPC |
| PHP Version | Irrelevant |
| OS | win and linux |
| Roadmaps | (Not assigned) |
Comments
[2006-06-06 08:36 UTC] mra at deltaz dot com
Description:
------------
If you pass a string containing "-1" do XML_RPC_Value constructor without a type (this means string as default type) the response is empty, but should contain the "-1" string in the result.
Test script:
---------------
require_once 'XML/RPC/Server.php';
//with some good and bad cases
function foobar($params) {
// (1) Doesn't work fine
$obj = new XML_RPC_Value('-1');
// (2) Doesn't work fine
// $obj = new XML_RPC_Value((string) '-1');
// (3) Work's fine
// $obj = new XML_RPC_Value('-1', 'string');
// (4) Even this works fine "-2" as string
// $obj = new XML_RPC_Value('-2');
return new XML_RPC_Response($obj);
}
$server = new XML_RPC_Server(
array(
'foobar' => array(
'function' => 'foobar')
),
0, // service not now
1 // Debug 1=on
);
if (empty($HTTP_RAW_POST_DATA)) {
echo "empty";
} else {
$server->service();
}
Expected result:
----------------
<methodResponse>
<params>
<param>
<value><string>-1</string></value>
</param>
</params>
</methodResponse>
-->produced with (3), looks good
Actual result:
--------------
<methodResponse>
<params>
<param>
</param>
</params>
</methodResponse>
-->produced with (1)
-->So empty payload as result