用Zend_xmlrpc构建webservice服务器
网站需要开通接口供别人调用,用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 !”}]