Agesort demo

Send an array of 'name' => 'age' pairs to the server that will send it back sorted.

The source code demonstrates basic lib usage, including handling of xmlrpc arrays and structs

24, "Edd" => 45, "Joe" => 37, "Fred" => 27); reset($inAr); print "This is the input data:
";
while (list($key, $val) = each($inAr)) {
    print $key . ", " . $val . "\n";
}
print "
"; // create parameters from the input array: an xmlrpc array of xmlrpc structs $p = array(); foreach ($inAr as $key => $val) { $p[] = new xmlrpcval(array("name" => new xmlrpcval($key), "age" => new xmlrpcval($val, "int")), "struct"); } $v = new xmlrpcval($p, "array"); print "Encoded into xmlrpc format it looks like this:
\n" . htmlentities($v->serialize()) . "
\n"; // create client and message objects $f = new xmlrpcmsg('examples.sortByAge', array($v)); $c = new xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80); // set maximum debug level, to have the complete communication printed to screen $c->setDebug(2); // send request print "Now sending request (detailed debug info follows)"; $r = &$c->send($f); // check response for errors, and take appropriate action if (!$r->faultCode()) { print "The server gave me these results:
";
    $v = $r->value();
    $max = $v->arraysize();
    for ($i = 0; $i < $max; $i++) {
        $rec = $v->arraymem($i);
        $n = $rec->structmem("name");
        $a = $rec->structmem("age");
        print htmlspecialchars($n->scalarval()) . ", " . htmlspecialchars($a->scalarval()) . "\n";
    }

    print "
For nerds: I got this value back
" .
        htmlentities($r->serialize()) . "

\n"; } else { print "An error occurred:
";
    print "Code: " . htmlspecialchars($r->faultCode()) .
        "\nReason: '" . htmlspecialchars($r->faultString()) . '\'

'; } ?>