网站需要开通接口供别人调用,用Zend Framework中的Zend_xmlrpc_server来构建一个server端。
如下:server端
php
require_once 'Zend/XmlRpc/Server.php';
/*** 返回 json 值** @param mixed $value (注意:这是server端中函数的一个形参,必须要在这里体现,传过来是数组,是array,如果是字符串,则是string) * @return json */
function jencodeValue($value)
{return json_encode($value);
}$server = new Zend_XmlRpc_Server();
$server->addFunction('jencodeValue');//这里是用addFunction附加一个函数
echo $server->handle();//返回一个对象
?>
client端 (进行XMLRPC调用)
include('Zend/Loader.php');
Zend_Loader::registerAutoload();
$client = new Zend_XmlRpc_Client('http://127.0.0.1/test/xmlrpc/index.php');
$data=array( //说明:如果传过去的参数是数组,则必须如下要包三层,一个三维数组.array(array("a"=>"Hello World !","b"=>"Hello CodeMonkey !")));
$result=$client->call('jencodeValue',$data);
print_r($result);
结果(json数据):
[{"a":"Hello World !","b":"Hello CodeMonkey !"}]