用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 !"}]

原文地址:https://www.cnblogs.com/liuxgnu/p/3535427.html