XML-RPC Backery testing for GNUE
setDebug(0); # set to 1 for debbugging output
function callandprintresult($func,$param) {
global $c;
print "Calling $func
";
$f=new xmlrpcmsg($func,$param);
$r=$c->send($f);
if (!$r) { die("send failed
"); }
$v=$r->value();
if (!$r->faultCode()) {
print "RESULT:";
if ($v->kindof()=="struct") {
while (list($key,$value)=$v->structeach()) {
print "
".$key." -> ".$value;
}
} else {
if ($v->kindof()=="array") {
for ($i=0;$i<$v->arraysize();$i++) {
$q=$v->arraymem($i);
print "
".$q->scalarval();
}
} else {
print $v->scalarval();
}
}
return($v);
} else {
print "Fault: ";
print "Code: " . $r->faultCode() .
" Reason '" .$r->faultString()."'
";
}
}
// $param=array(new xmlrpcval("sugar", "string"));
callandprintresult('system.listMethods',"");
callandprintresult('DonutPlace.Management.Status',"");
$param=array(new xmlrpcval("sugar", "string"));
$o=callandprintresult('DonutPlace.Bakery.getBakingUnit',$param);
if ($o->kindof()=="struct") {
while (list($key,$value)=$v->structeach()) {
print "
".$key." -> ".$value;
if ($key=='_refID') {
$handle=$value;
}
}
} else {
$handle=$o->scalarval();
}
callandprintresult('['.$handle.'].get_flavor',"");
$param=array(new xmlrpcval("super glazed and dipped in marmelade", "string"));
$o=callandprintresult('DonutPlace.Bakery.getBakingUnit',$param);
if ($o->kindof()=="struct") {
while (list($key,$value)=$v->structeach()) {
print "
".$key." -> ".$value;
if ($key=='_refID') {
$handle=$value;
}
}
} else {
$handle=$o->scalarval();
}
callandprintresult('['.$handle.'].get_flavor',"");
?>