[phpxmlrpc] Problem with PHP Client/Server -> passing and returning an array

Martin Walter martin.walter at erol.at
Tue Feb 18 17:20:11 GMT 2003

I am fairly new to the XML-RPC and ran into my first problem. At the
moment I am just testing some custom functions. One of my functions
receives and returns an array. When it run the script i get the
following error:
<b>Warning</b>:  htmlspecialchars() expects parameter 1 to be string,
array given in <b>/home/duracell/www/xmlrpc/includes/xmlrpc.inc</b> on
line <b>1204</b>
You could see the error on http://www.martinwalter.at/xmlrpc/array.php.
I am using xmlrpc- on Apache and PHP 4.2.3.
Please see my code below:
$client = new xmlrpc_client('/xmlrpc/server.php', 'www.martinwalter.at',
$client -> setDebug(1);
$message = new xmlrpcmsg('examples.returnArray', array(new
xmlrpcval(array(new xmlrpcval(1, $xmlrpcInt), new xmlrpcval(2,
$xmlrpcInt), new xmlrpcval(3, $xmlrpcInt)), $xmlrpcArray)));
$result = $client -> send($message);
$errorCounter = 0;
$errorMessage = '';
$returnArray_sig = array(array($xmlrpcArray, $xmlrpcArray));
$returnArray_doc = 'Passes a given Array to the client.';
function returnArray($xmlrpcMessage)
            global $xmlrpcerruser;
            global $errorCounter, $errorMessage;
            $returnMessage = $xmlrpcMessage -> getParam(0);
            if ($returnMessage -> kindOf() != 'array')
                        $errorMessage = 'Wrong argument type detected.
Required: Array';
            if ($errorCounter > 0)
                        $response = new xmlrpcresp(0, $xmlrpcerruser,
                        $elements = array();
                        for ($i = 0; $i < $returnMessage -> arraysize();
                                   $member = $returnMessage ->
                                   $value = $member -> scalarval();
                                   $elements[] = new xmlrpcval($value,
                        $response = new xmlrpcresp(new
xmlrpcval($elements, $xmlrpcArray));
            return $response;
$returnString_sig = array(array($xmlrpcString, $xmlrpcString));
$returnString_doc = 'Passes a given String to the client.';
$dispatchMap = array('examples.returnArray' => array('function' =>
'returnArray', 'signature' => $returnArray_sig, 'docstring' =>
$server = new xmlrpc_server($dispatchMap);
I hope you have an idea how to get this fixed? Thanks in advance!
Best regards,
Martin Walter
mailto: martin.walter at erol.at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/attachments/20030218/37ec248e/attachment.htm

More information about the phpxmlrpc mailing list