PHP

You are here home > know-how > php > XML RPC

5 XML RPC

Date: 09.09.2006

4 Graphics, Charts [  up  ] - [ top ] - [ A - Z ] 6 SOAP

Client

<?

include("xmlrpc_utils.php");

        $request = array(
                'method' => "greeting",

                'args' => array(
                            "mode"   => "yourmode" ,
                            "lookup" => "AdminProfile" ,
                            "source" => "mysource" ,
                            "cn"     => 'mycn'
                          ) ,
                'host' => 'localhost', 'uri' => '/xmlrpc/server.php', 'port' => 80
        );

        $result = xu_rpc_http_concise($request);

        var_dump($result);

?>


Server

<?php

include("xmlrpc_utils.php");

// ensure extension is loaded.
xu_load_extension();

/*
$request_xml = <<< END
<?xml version="1.0"?>
<methodCall>
   <methodName>greeting</methodName>
   <params>
      <param>
	 <value><string>Dan</string></value>
      </param>
   </params>
</methodCall>
END;
*/


/* Get the client's request from the post data.... */
$request_xml = $HTTP_RAW_POST_DATA;

if(!$request_xml) {
      $request_xml = $HTTP_GET_VARS[xml];
}

if(!$request_xml) {
      echo "<h1>No XML input found!</h1>";
}
else {
	$xmlrpc_server = xmlrpc_server_create();

	// register methods
	if(!xmlrpc_server_register_method($xmlrpc_server, "greeting", "greeting_func")) {
		die("<h2>method registration failed.</h2>");
	}

	 // parse xml and call method
	echo xmlrpc_server_call_method(
		$xmlrpc_server, $request_xml, $response, 
		array(output_type => "xml", version => "auto")
	);

	// free server resources
	$success = xmlrpc_server_destroy($xmlrpc_server);
}

function greeting_func($method_name, $params, $app_data) {
	$name = $params[0];

	return array("hello $name. How are you today?!");
}

?>

Google
infoCopter   Web  

copyright by reto - created with mytexi