1 <html>
\r<head><title>xmlrpc</title></head>
\r<body>
\r<h1>Agesort demo</h1>
\r<h2>Send an array of 'name' => 'age' pairs to the server that will send it back sorted.</h2>
\r<h3>The source code demonstrates basic lib usage, including handling of xmlrpc arrays and structs</h3>
\r<p></p>
\r<?php
\rinclude("xmlrpc.inc");
\r\r$inAr=array("Dave" => 24, "Edd" => 45, "Joe" => 37, "Fred" => 27);
\rreset($inAr);
\rprint "This is the input data:<br/><pre>";
\rwhile (list($key, $val)=each($inAr)) {
\r print $key . ", " . $val . "\n";
\r}
\rprint "</pre>";
\r\r// create parameters from the input array: an xmlrpc array of xmlrpc structs
\r$p=array();
\rforeach($inAr as $key => $val) {
\r $p[]=new xmlrpcval(array("name" => new xmlrpcval($key),
\r "age" => new xmlrpcval($val, "int")), "struct");
\r}
\r$v=new xmlrpcval($p, "array");
\rprint "Encoded into xmlrpc format it looks like this: <pre>\n" . htmlentities($v->serialize()). "</pre>\n";
\r\r// create client and message objects
\r$f=new xmlrpcmsg('examples.sortByAge', array($v));
\r$c=new xmlrpc_client("/server.php", "phpxmlrpc.sourceforge.net", 80);
\r\r// set maximum debug level, to have the complete communication printed to screen
\r$c->setDebug(2);
\r\r// send request
\rprint "Now sending request (detailed debug info follows)";
\r$r=&$c->send($f);
\r\r// check response for errors, and take appropriate action
\rif (!$r->faultCode()) {
\r print "The server gave me these results:<pre>";
\r $v=$r->value();
\r $max=$v->arraysize();
\r for($i=0; $i<$max; $i++) {
\r $rec=$v->arraymem($i);
\r $n=$rec->structmem("name");
\r $a=$rec->structmem("age");
\r print htmlspecialchars($n->scalarval()) . ", " . htmlspecialchars($a->scalarval()) . "\n";
\r }
\r\r print "<hr/>For nerds: I got this value back<br/><pre>" .
\r htmlentities($r->serialize()). "</pre><hr/>\n";
\r} else {
\r print "An error occurred:<pre>";
\r print "Code: " . htmlspecialchars($r->faultCode()) .
\r "\nReason: '" . htmlspecialchars($r->faultString()).'\'</pre><hr/>';
\r}
\r\r?>
\r<em>$Id$</em>
\r</body>
\r</html>
\r