PHP_XmlRpc简单实现;

> rpc_server.php 文件


 
 rpc_server
 
 
 
 get
 
 
 
 
 */

// 3、调用请求方法
// 执行调用 客户端的XML请求后获取执行结果
$xmlrpc_response = xmlrpc_server_call_method($xmlrpc_server, $request, null); 

// 4、返回结果信息
// 把函数处理后的结果XML进行输出
header("Content-Type: text/xml"); // 以xml格式返回;
echo $xmlrpc_response;
fLog("xmlrpc_response=$xmlrpc_response");
/* xmlrpc_response 内容



 
  
   This data by get method.
  
 


*/

// 5、销毁服务资源
xmlrpc_server_destroy($xmlrpc_server); 

?>


 

>rpc_client.php 文件


    
    
     
      
       This data by get method.
      
     
    
    
    */
    return $contents;
}


/// 服务信息: 构造连接RPC服务器端的信息;
$host  = "tiytest.com";
$port  = 80;

/// 请求文件:RPC服务器端文件路径;
$rpc_server = "/rpc_server.php";

/// 请求信息:把需要发送的XML请求进行编码成XML,需要调用的方法是rpc_server,参数是get;
$request = xmlrpc_encode_request("rpc_server", "get");

/// 方法请求:调用rpc_client_call函数把所有请求发送给XML-RPC服务器端后获取信息
$response = rpc_client_call($host, $port, $rpc_server, $request);
fLog("response=$response");

/// 解析结果
//  分析从服务器端返回的XML,去掉HTTP头信息,并且把XML转为PHP能识别的字符串.
//  这部分在不同的xml返回中,不尽相同,要察看后再填写分隔符。
//$split = 'Content-Type: text/xml';
$split = "\r\n"; // 报头信息与响应实体有空行,用\r\n表示,记得用双引号引起来,单引号不起作用,以字符串输出;
$xml = explode($split, $response);
$xml = trim(array_pop($xml));
$responsexml = xmlrpc_decode($xml);

// 输出从RPC服务器端获取的信息
print_r($responsexml);

?>

 

 

你可能感兴趣的:(Web_PHP)