X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=demo%2Fclient%2Fwrap.php;h=0b3022d950824dee820cad626fd2daefbbaa3166;hb=891efe4262d3cc5a379e0454f1f92c9dbdade9f7;hp=458f66889296f1bf85f168fb3d930880c1dc9596;hpb=4c4c28971620235b1a225c106dfad85a87731a25;p=plcapi.git diff --git a/demo/client/wrap.php b/demo/client/wrap.php index 458f6688..0b3022d9 100644 --- a/demo/client/wrap.php +++ b/demo/client/wrap.php @@ -1,56 +1,53 @@ -xmlrpc +xmlrpc - Webservice wrappper demo

Webservice wrappper demo

+

Wrap methods exposed by server into php functions

-

The code demonstrates usage of the most automagic client usage possible:
-1) client that returns php values instead of xmlrpcval objects
-2) wrapping of remote methods into php functions + +

The code demonstrates usage of some the most automagic client usage possible:
+ 1) client that returns php values instead of xmlrpc value objects
+ 2) wrapping of remote methods into php functions
+ See also proxy.php for an alternative take

return_type = 'phpvals'; // let client give us back php values instead of xmlrpcvals - $r =& $c->send(new xmlrpcmsg('system.listMethods')); - if($r->faultCode()) - { - echo "

Server methods list could not be retrieved: error '".htmlspecialchars($r->faultString())."'

\n"; - } - else - { - $testcase = ''; - echo "

Server methods list retrieved, now wrapping it up...

\n\n"; - if($testcase) - { - echo "Now testing function $testcase: remote method to convert U.S. state number into state name"; - $statenum = 25; - $statename = $testcase($statenum, 2); - echo "State number $statenum is ".htmlspecialchars($statename); - } - } +include_once __DIR__ . "/../../src/Autoloader.php"; +PhpXmlRpc\Autoloader::register(); + +$client = new PhpXmlRpc\Client("http://phpxmlrpc.sourceforge.net/server.php"); +$client->return_type = 'phpvals'; // let client give us back php values instead of xmlrpcvals +$resp = $client->send(new PhpXmlRpc\Request('system.listMethods')); +if ($resp->faultCode()) { + echo "

Server methods list could not be retrieved: error {$resp->faultCode()} '" . htmlspecialchars($resp->faultString()) . "'

\n"; +} else { + echo "

Server methods list retrieved, now wrapping it up...

\n\n"; + flush(); + + if ($callable) { + echo "Now testing function for remote method to convert U.S. state number into state name"; + $stateNum = rand(1, 51); + // the 2nd parameter gets added to the closure - it is teh debug level to be used for the client + $stateName = $callable($stateNum, 2); + } +} ?>