您的位置: 飞扬精品软件园 >> 文章中心 >> 软件使用 >> 程序开发 >> 在PHP中利用XML技术构造远程服务

相关文章链接

本类文章排行

最新新闻资讯

    在PHP中利用XML技术构造远程服务

    在PHP中利用XML技术构造远程服务


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-23


     

    五、应用实例

    在下面这个例子中我们将构造一个服务。对于给定的数值n,服务返回n*2。客户端利用该服务计算5*2的值。

    服务器端的代码如下:

    <?php
    include("xmlrpc.inc");
    include("xmlrpcs.inc");
    function foo ($params)
    {
    global $xmlrpcerruser; // 引入用户错误代码值
    // $params是xmlrpcval对象的一个数组
    $vala=$params->params[0];
    $sval=$vala->scalarval();
    $ret=$sval*2;
    return new xmlrpcresp(new xmlrpcval($ret, "int"));
    }
    $s=new xmlrpc_server( array("product" =>
    array("function" => "foo")));
    ?>
    

    客户端代码如下:

    <?php
    include("xmlrpc.inc");
    if ($http_post_vars["number"]!="") {
    $f=new xmlrpcmsg(product,array(new xmlrpcval
    ($http_post_vars["number"], "int")));
    $c=new xmlrpc_client("/xmlrpc/servfoo.php", 
    "luigi.melpomenia.com.ar", 80);
    $c->setdebug(0);
    $r=$c->send($f);
    $v=$r->value();
    if (!$r->faultcode()) {
    print "number ". $http_post_vars["number"] . " is " .
    $v->scalarval() . "<br>";
    print "<hr>来自服务器的结果!<br><pre>" .
    htmlentities($r->serialize()). "</pre><hr>\n";
    } else {
    print "操作失败: ";
    print "代码: " . $r->faultcode() .
    " 原因: " .$r->faultstring()."<br>";
    }
    }
    print "<form method=\"post\">
    <input name=\"number\" value=\"${number}\">
    <input type=\"submit\" value=\"go\"
     name=\"submit\"></form><p>
    输入一个数值";
    ?>

    结束语:xml_rpc服务的运作还涉及其他许多基础设施和基础工作,如分布式过程的编目和索引机制,又如在编程语言中处理xml_rpc的更好接口等。有关xml_rpc和服务式web的报道非常多,让我们密切关注他们的发展吧!


     

    [1] [2] [3] [4] [5]


查看所有评论

网友对在PHP中利用XML技术构造远程服务的评论

网名:
主题:
内容:
验证码: