R: Problems with example (first webservice)
"Gaetano Giunta" <[email protected]> Wed, 24 Nov 2004 14:41:30 +0100
| Newsgroups | gmane.comp.php.xml-rpc |
|---|---|
| Message-ID | <[email protected]> |
I pasted your code on my webserver (brr.....) and it worked OK. Hints: 1 - what the xmlrpc caller is getting IS NOT valid XML (the mesage tells you that) 2 - it's probably due to an error in the xmlrpc server page. If you have error_diplay = ON in PHP.INI, the php error will be printed to the web server page, which in this case is the XML that the client expects to receive. 3 - use $client->setDebug(true); to have the client dump to screen (to the web browser) the garbage it is receiving from the server. 4 - since the code you're writing is quite short, I suspect the directory where you dumped xmlrpc.inc and xmlrpcs.inc is not in your include path... bye Gaetano > -----Messaggio originale----- > Da: [email protected] > [mailto:[email protected]]Per conto di keroppi kero > Inviato: giovedì 18 novembre 2004 19:59 > A: [email protected] > Oggetto: [phpxmlrpc] Problems with example (first webservice) > > > I installed IIS in my windows. Then I installed PHP (4.3.9 by > installer). I > tryed php pages and it wokk fine. > > Then I put xmlrpc for php directory in D:\Inetpub\wwwroot\php . > Afeter this I create two files: > > sample.php: > <?php > include 'xmlrpc.inc'; > include 'xmlrpcs.inc'; > > function sumAndDifference ($params) { > > // Parse our parameters. > $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')); > } > > // Declare our signature and provide some documentation. > // (The PHP server supports remote introspection. Nifty!) > $sumAndDifference_sig = array(array('struct', 'int', 'int')); > $sumAndDifference_doc = 'Add and subtract two numbers'; > > new xmlrpc_server(array('sample.sumAndDifference' => > array('function' => 'sumAndDifference', > 'signature' => > $sumAndDifference_sig, > 'docstring' => > $sumAndDifference_doc))); > ?> > > and sumAndDifference2.php: > <html> > <head> > <title>XML-RPC PHP Demo</title> > </head> > <body> > <h1>XML-RPC PHP Demo</h1> > > <?php > include 'xmlrpc.inc'; > > // Make an object to represent our server. > $server = new xmlrpc_client('/php/sample.php', > 'localhost', 80); > > // Send a message to the server. > $message = new xmlrpcmsg('sample.sumAndDifference', > array(new xmlrpcval(5, 'int'), > new xmlrpcval(3, 'int'))); > $result = $server->send($message); > > // Process the response. > if (!$result) { > print "<p>Could not connect to HTTP server.</p>"; > } elseif ($result->faultCode()) { > print "<p>XML-RPC Fault #" . $result->faultCode() . ": " . > $result->faultString(); > } else { > $struct = $result->value(); > $sumval = $struct->structmem('sum'); > $sum = $sumval->scalarval(); > $differenceval = $struct->structmem('difference'); > $difference = $differenceval->scalarval(); > print "<p>Sum: " . htmlentities($sum) . > ", Difference: " . htmlentities($difference) . "</p>"; > } > ?> > After this I put xmlrpc.inc and xmlrpcs.inc into > D:\Inetpub\wwwroot\php > > After this I opened browser (IE) and enter > localhost/php/sumAndDifference2.php, then execute and recibe > this message: > > XML-RPC PHP Demo > XML error: junk after document element at line 2 > XML-RPC Fault #2: > > I don't understand why it doesn't work. > > Anyone knows what is my mistake? > > Please help me, I tryed make a webservice and I can not begin it. > > Thanks for you attention, keroppi. > > _________________________________________________________________ > La información más fresca desde diferentes puntos de vista en > la Revista de > Prensa de MSN. http://es.newsbot.msn.com/ > > > _______________________________________________ > phpxmlrpc mailing list > [email protected] > http://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc