Appendix A. Integration with the PHP xmlrpc extension

To be documented more...

In short: for the fastest execution possible, you can enable the php native xmlrpc extension, and use it in conjunction with phpxmlrpc. The following code snippet gives an example of such integration


/*** client side ***/
$c = new xmlrpc_client('http://phpxmlrpc.sourceforge.net/server.php');

// tell the client to return raw xml as response value
$c->return_type 'xml';

// let the native xmlrpc extension take care of encoding request parameters
$r $c->send(xmlrpc_encode_request('examples.getStateName'$_POST['stateno']));

if (
$r->faultCode())
  
// HTTP transport error
  
echo 'Got error '.$r->faultCode();
else
{
  
// HTTP request OK, but XML returned from server not parsed yet
  
$v xmlrpc_decode($r->value());
  
// check if we got a valid xmlrpc response from server
  
if ($v === NULL)
    echo 
'Got invalid response';
  else
  
// check if server sent a fault response
  
if (xmlrpc_is_fault($v))
    echo 
'Got xmlrpc fault '.$v['faultCode'];
  else
    echo
'Got response: '.htmlentities($v);
}