初学xmlrpc

2010-04-22 13:08



client.php:

<?php
require_once "lib/Xmlrpc/xmlrpc.inc";
require_once "lib/Xmlrpc/xmlrpcs.inc";
$client = new xmlrpc_client('http://localhost/webservice/xmlrpc/server.php');
           //创建一个实例 调用server.php里的add方法,传递2个参数
             $msg = new xmlrpcmsg("add", array(new xmlrpcval(5, "int"),new xmlrpcval(8, "int")));
           //服务器返回xmlrpcresp的一个实例
           $retval = $client->send($msg);

               if ($retval->faultCode())
              {
                   print_r("发生一个错误: ");                   
                   print_r("原因: " . htmlspecialchars($retval->faultString()));        
              }

               else

              {
                 //xmlrpcresp //xmlrpcval
               echo $retval->value()->scalarval();
               }
?>

server.php:

<?php
require_once "lib/Xmlrpc/xmlrpc.inc";
require_once "lib/Xmlrpc/xmlrpcs.inc";

// $add_sig = array(array($xmlrpcString, $xmlrpcInt, $xmlrpcInt));
// $add_doc = "Add the two integer together";

function add($params)
{
                //引入用户错误代码值
               // global $xmlrpcerruser;
                //返回一个PHP数组
                $val = php_xmlrpc_decode($params);
                $ret = $val[0] + $val[1];
                //因为客户端send 方法返回需要一个xmlrpcresp类型,所以包装该返回值
                return new xmlrpcresp(new xmlrpcval($ret, "int"));
}

//创建一个xmlrpc_server的实例:
$server = new xmlrpc_server(array(

               "add" => array(

                        "function" => "add",

                         //"signature" => $add_sig,

                       // "docstring" => $add_doc

                             )
                                  )
                          );

?>

访问 http://localhost/webservice/xmlrpc/client.php 输出: 13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值