麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 建站經驗 > 正文

在PHP中利用XML技術構造遠程服務(下)

2019-11-02 14:07:38
字體:
來源:轉載
供稿:網友
四、基于XML_RPC的Web服務
利用XML_RPC構造和使用服務是很方便的。企業為自己提供的各種服務部署XML_RPC服務器,用戶、客戶軟件和客戶企業就可以使用這種服務構造出高端服務或者面向最終用戶的應用。這種提供更有效、廉價和優質服務的競爭將極大地提高應用服務的質量。

但這里還存在一些問題有待解決,例如怎樣編目、索引、搜索Web上的服務?UDDI試圖解決這個問題,不過這個標準并不簡單,而且業界對它的反應也尚未明了。然而,在企業內部應用XML_RPC不僅能夠改善代碼的可重用性,而且還會帶來一種全新的分布式計算模式,在此后的數年中它必將成為一種重要的知識財富。XML_RPC的發展從解決分布式計算問題以及成為服務式Web的基本層面開始,從而獲得了一個非常好的開端,其后必將緊隨著人們對該標準的熱衷。既然如此,現在就讓我們來看看XML_RPC的實際應用吧!

4.1 在PHP中應用XML_RPC

對于提供Web服務來說,PHP是一種非常理想的語言。我們只需編寫好PHP代碼然而把它放到一個合適的位置,就立即有了一個可通過URL“調用”的服務。PHP中的XML_RPC實現可能復雜也可能簡單,但我們擁有許多種選擇。這里我們選用的是來自Useful Information Company的XML_RPC實現,它的代碼和文檔可以從http://xmlrpc.usefulinc.com/下載。

這個XML_RPC實現的基本類涉及兩個文件:

xmlrpc.inc:包含XML_RPC的php客戶端所需要的類

xmlrpcs.inc:包含XML_RPC的php服務器所需要的類

4.2 客戶端

編寫XML_RPC客戶端意味著:

1.創建一個XML_RPC請求消息

2.設置XML_RPC參數

3.創建一個XML_RPC消息

4.發送消息

5.獲得應答

6.解釋應答

請看下面這個例子:

<?php
$f=new xmlrpcmsg('examples.getStateName',array(new xmlrpcval(14, "int")));
$c=new xmlrpc_client("/RPC2", "betty.userland.com", 80);
$r=$c->send($f);
$v=$r->value();
if (!$r->faultCode()) {
print "狀態代碼". $HTTP_POST_VARS["stateno"] . "是" .
$v->scalarval() . "<BR>";
print "<HR>這是服務器的應答<BR><PRE>" .
htmlentities($r->serialize()). "</PRE><HR>n";
} else {
print "錯誤: ";
print "代碼: " . $r->faultCode() .
" 原因: '" .$r->faultString()."'<BR>";
}
?>


在這個例子中,我們先創建了一個調用“examples.getStateName”方法的XML_RPC消息,并傳遞了一個類型為“int”值為14的整數參數。然后,我們創建了一個描述待調用URL(路徑、域和端口)的客戶。接著,我們發送了消息,接收應答對象并檢查錯誤。如果不存在錯誤,我們就顯示結果。

編寫RPC客戶程序時要用到的主要函數如下:

創建客戶用:

$client=new xmlrpc_client($server_path, $server_hostname, $server_port);

發送消息的方法是:

$response=$client->send($xmlrpc_message);

它返回的是xmlrpcresp的一個實例。我們所傳遞的消息是xmlrpcmsg的實例,它用如下方法創建:

$msg=new xmlrpcmsg($methodName, $parameterArray);

methodName是待調用的方法(過程)的名字,parameterArray是xmlrpcval對象的php數組。例如:

$msg=new xmlrpcmsg("examples.getStateName", array(new xmlrpcval(23, "int")));

xmlrpcval對象可以用如下形式創建:

<?php
$myVal=new xmlrpcval($stringVal);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产小视频在线 | 青草av.久久免费一区 | 亚洲成人午夜精品 | 久国久产久精永久网页 | sesee99| 欧美黄色一级片视频 | 色婷婷a v| 精品成人久久久 | 精品视频在线免费看 | 伊人av影院| 精品国产一区二区三区在线 | 双性帝王调教跪撅打屁股 | www久久久久久 | 久久精品一区视频 | 久久毛片免费观看 | 国产精品久久久久久模特 | 一区二区三区播放 | 99精品视频在线免费观看 | 播色网 | av在线1| 泰剧19禁啪啪无遮挡 | 男女生羞羞视频网站在线观看 | 久久精品国产一区二区 | 国产交换3p国产精品 | 日韩精品a在线观看 | 色婷婷久久一区二区 | 免费网站看v片在线a | 久久宗合色 | 色999国产| 久久91久久久久麻豆精品 | 国产成人高清在线观看 | 欧美日韩在线看片 | 精品国产91久久久久久久 | 色网免费观看 | 成人一区久久 | 国产成人高清成人av片在线看 | 91精品国产91久久久久久吃药 | a一级黄| 久久精品视频首页 | 国产亚洲精品久久久久5区 综合激情网 | 亚洲免费观看视频 |