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',""); ?>