用Zend_xmlrpc构建webservice服务器

最近公司网站需要开通接口供别人调用,用了Zend framework中的Zend_xmlrpc_server来构建一个server端,这中间需要注意很多问题,对调用函数的注释有些要求,我花了很久的时间才弄明白,特地写出来,供同样遇到这样问题的人进行参考.

如下:server端

<?php
require_once 'Zend/XmlRpc/Server.php';

/**
 * 返回 MD5 值
 *
 * @param array $value (注意:这是server端中函数的一个形参,必须要在这里体现,传过来是数组,是array,如果是字符串,则是string)
 * @return array MD5
 */
function md5Value($value)
{
    return json_encode($value);
}

$server = new Zend_XmlRpc_Server();
$server->addFunction('md5Value');//这里是用addFunction附加一个函数
echo $server->handle();//返回一个对象
?>

client端 (进行XMLRPC调用)

include('Zend/Loader.php');
Zend_Loader::registerAutoload();
$client = new Zend_XmlRpc_Client('http://127.0.0.1/test/server/index.php');
$data=array(    //说明:如果传过去的参数是数组,则必须如下要包三层,一个三维数组.

                   array(

                           array(
                                     "a"=>"1234",
                                     "b"=>"5678"
                                   )

                           )

                    );
$result=$client->call('md5Value',$data);
print_r($result);

结果(json数据):

[{"a":"1234","b":"5678"}]

希望大家有更好的主意,可以一起分享
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值