This is a discussion on integrate php xmlrpc server within the PHP Language forums, part of the PHP Programming Forums category; Hi I am trying to integrate the xmlrpc server into a class, does anyone know how to get it working? ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi I am trying to integrate the xmlrpc server into a class, does anyone
know how to get it working? test.html: <html> <head> <title>XMLRPC Test</title> <script src="jsolait/init.js"></script> <script src="jsolait/lib/urllib.js"></script> <script src="jsolait/lib/xml.js"></script> <script src="jsolait/lib/xmlrpc.js"></script> <script> var xmlrpc=null; try{ var xmlrpc = importModule("xmlrpc"); }catch(e){ throw "importing of xmlrpc module failed."; } doSome = function() { try{ var service = new xmlrpc.ServiceProxy("http://localhost/test.php"); var something = service.Server.display(); alert(something); }catch(e){ alert("nothing"); } } </script> </head> <body bgcolor="#D4D0C8"> <a href="javascript:doSome()">click</a> </body> </script> </html> ----------------------------------------------------------------------------------------- and test.php side: <?php include 'xmlrpc/xmlrpc.inc'; include 'xmlrpc/xmlrpcs.inc'; class Server { function Server() { } function sumAndDifference ($params) { $xval = $params->getParam(0); $x = $xval->scalarval(); $yval = $params->getParam(1); $y = $yval->scalarval(); // Build our response. $struct = array('sum' => new xmlrpcval($x + $y, 'int'), 'difference' => new xmlrpcval($x - $y, 'int')); return new xmlrpcresp(new xmlrpcval($struct, 'struct')); } function display() { return new xmlrpcresp(new xmlrpcval("James", 'string')); } function makeServer() { $sumAndDifference_sig = array(array('struct', 'int', 'int')); $sumAndDifference_doc = 'Add and subtract two numbers'; $display_sig = array(array('struct')); $display_doc = 'Add and subtract two numbers'; new xmlrpc_server(array('server.sumAndDifference' => array('function' => 'sumAndDifference', 'signature' => $sumAndDifference_sig, 'docstring' => $sumAndDifference_doc), 'display'=> array('function' => 'Server.display', 'signature' => $display_sig, 'docstring' => $display_doc) )); } } $test = new Server(); $server = $test->makeServer(); ?> Thanks in advance |