Hi There!  Thanks for your reply!  Sorry it's taken awhile to respond.

Anyhow, I changed my code to the following:
require_once 'XML/RPC.php';

$client = new XML_RPC_Client('/xmlrpc.php', 'localhost');
$msg = new XML_RPC_Message('system.load');
$result = $client->send($msg);

if($result->faultCode())
{
   // we have an error
   echo "Error Code: " . $result->faultCode() . "<BR>";
   echo "Error String: " . $result->faultString() . "<BR>";
}
else
{
   // no error, you should get some decoded value out
   print XML_RPC_decode($result->value());
}

print XML_RPC_decode($result->value());


And I get the following: Error Code: 1 Error String: Unknown method

Fatal error: Call to a member function kindOf() on a non-object in /usr/local/php5/lib/php/XML/RPC.php on line 1083


It seems to say that $client does not have a send method. Surely this isn't the case?


Thanks! All help is appreciated!! I'll be much quicker to respond this time!

--Jough


On Aug 2, 2004, at 12:03 PM, Justin Philpott wrote:

Hi Jough,

By looking at line 1083 I can see that whatever is getting passed to
XML_RPC_decode() is not a valid XML_RPC_Value object

By looking at the code, if a fault were to occur, it still tries to
printout the value of the result. Reading the PEAR XML_RPC API docs says
this:


"If the response's faultCode is non-zero then the value returned by this
method should not be used (it may not even be an object)" ...


I think this may be the problem, so get it to print the faultCode and
faultString but like this instead:

if($result->faultCode()) {
        // we have an error
        echo "Error\n"; // print the code and string here
} else {
        // no error, you should get some decoded value out
        print XML_RPC_decode($result->value());
}
// always use {} with control structures, if you don't it will bite you
in the ass eventually...
// and remember to turn on debugging to see what's going on...

hope this helps,

Justin

-----Original Message-----
From: Jough P [mailto:[EMAIL PROTECTED]
Sent: 31 July 2004 19:00
To: [EMAIL PROTECTED]
Subject: [PEAR] PHP5 and XML-RPC


Greetings all, I'm copying code straight out of _Advanced PHP Programming_ and am getting the following error on a Linux/Apache/PHP5 box:

Fatal error: Call to a member function kindOf() on a non-object in
/usr/local/lib/php/XML/RPC.php on line 1083

I'm wondering if the pear XML-RPC class has any issues with PHP 5.
But, I'm just learning how to use XML-RPC and could very well be doing
something stupid.  ANY help at all would be greatly appreciated.

Here is the code:
CLIENT:
<?php
require_once 'XML/RPC.php';

$client = new XML_RPC_Client('/xmlrpc.php', 'localhost');
$msg = new XML_RPC_Message('system.load');
$result = $client->send($msg);
if($result->faultCode())
    echo "Error\n";

print XML_RPC_decode($result->value());
?>


SERVER: <?php require_once 'XML/RPC/Server.php';

function system_load()
{
    $uptime = `uptime`;
    if(preg_match("/load average: ([\d.]+/", $uptime, $matches))
    {
       return new XML_RPC_Response(new XML_RPC_Value($matches[1],
'string'));
    }
}

$dispatches = array('system.load' => array('function' =>
'system_uptime'));
new XML_RPC_Server($dispatches, 1);
?>

--
PEAR General Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

--
PEAR General Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to