Found at: http://publish.ez.no/article/articleprint/47 |
Communicating with XML-RPC |
This article (En Espaņol) will show you an easy way to write a simple XML-RPC server and client using the eZ xmlrpc software package available from developer.ez.no.
ob_start();
// include the server
include_once( "ezxmlrpc/classes/ezxmlrpcserver.php" );
// include the datatype(s) we need
include_once( "ezxmlrpc/classes/ezxmlrpcstring.php" );
$server = new eZXMLRPCServer( );
$server->registerFunction( "myFunc" );
// process the server requests
$server->processRequest();
function myFunc( )
{
return new eZXMLRPCString( "This command was run by xml rpc" );
}
ob_end_flush(); |
// register the function
$server->registerFunction( "foo", array( new eZXMLRPCInt() ) );
// implement the function
function foo( $args )
{
$tmp = new eZXMLRPCString( "You sendt me: " . $args[0]->value() );
return $tmp;
} |
include_once( "ezxmlrpc/classes/ezxmlrpcclient.php" );
include_once( "ezxmlrpc/classes/ezxmlrpccall.php" );
include_once( "ezxmlrpc/classes/ezxmlrpcstring.php" );
// create a new client
$client = new eZXMLRPCClient( "your.domain.com", "/xmlrpc/minimalserver.php" );
// create a new call
$call = new eZXMLRPCCall( );
$call->setMethodName( "myFunc" );
// send the request
$response = $client->send( $call );
// check for fault
if ( $response->isFault() )
{
print( "The server returned an error (" . $response->faultCode() . "): ".
$response->faultString() .
"<br>" );
}
else
{
// print out the results
$result = $response->result();
print( "The server returned: " . $result->value() . "<br>" );
} |