快速业务通道

PHP xml-rpc远程调用

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
) and XMLRPC_DEBUG){
XMLRPC_debug(''XMLRPC_request'', "<p>Returning:</p>\n\n" . XMLRPC_show($return, ''var_dump'', true));
}
return $return;
}else{
$return = array(true, XMLRPC_adjustValue($data[''methodResponse''][''params''][''param''][''value'']));
if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){
XMLRPC_debug(''XMLRPC_request'', "<p>Returning:</p>\n\n" . XMLRPC_show($return, ''var_dump'', true));
}
return $return;
}
}
}
function XMLRPC_response($return_value, $server = NULL){
$data["methodResponse"]["params"]["param"]["value"] = $return_value;
$return = XML_serialize($data);
if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){
XMLRPC_debug(''XMLRPC_response'', "<p>Received the following data to return:</p>\n\n" . XMLRPC_show($return_value, ''print_r'', true));
}
header("Connection: close");
header("Content-Length: " . strlen($return));
header("Content-Type: text/xml");
header("Date: " . date("r"));
if($server){
header("Server: $server");
}
if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){
XMLRPC_debug(''XMLRPC_response'', "<p>Sent the following response:</p>\n\n" . XMLRPC_show($return, ''print_r'', true));
}
echo $return;
}
function XMLRPC_error($faultCode, $faultString, $server = NULL){
$array["methodResponse"]["fault"]["value"]["struct"]["member"] = array();
$temp = $array["methodResponse"]["fault"]["value"]["struct"]["member"];
$temp[0]["name"] = "faultCode";
$temp[0]["value"]["int"] = $faultCode;
$temp[1]["name"] = "faultString";
$temp[1]["value"]["string"] = $faultString;
$return = XML_serialize($array);
header("Connection: close");
header("Content-Length: " . strlen($return));
header("Content-Type: text/xml");
header("Date: " . date("r"));
if($server){
header("Server: $server");
}
if(defined(''XMLRPC_DEBUG'') and XMLRPC_DEBUG){
XMLRPC_debug(''XMLRPC_error'', "<p>Sent the following error response:</p>\n\n" . XMLRPC_show($return, ''print_r'', true));
}
echo $return;
}
function XMLRPC_convert_timestamp_to_iso8601($timestamp){
#takes a unix timestamp and converts it to iso8601 required by XMLRPC
#an example iso8601 datetime is "20010822T03:14:33"
return date("Ymd\TH:i:s", $timestamp);
}
function XMLRPC_convert_iso8601_to_timestamp($iso8601){
return strtotime($iso8601);
}
function count_numeric_items($array){
return is_array($array) ? count(array_filter(array_keys($array), ''is_numeric'')) : 0;
}
function XMLRPC_debug($function_name, $debug_message){
$GLOBALS[''XMLRPC_DEBUG_INFO''][] = array($function_name, $debug_message);
}
function XMLRPC_debug_print(){
if($GLOBALS[''XMLRPC_DEBUG_INFO'']){
echo "<table border=\"1\" width=\"100%\">\n";
foreach($GLOBALS[''XMLRPC_DEBUG_INFO''] as $debug){
echo "<tr><th style=\"vertical-align: top\">$debug[0]</th><td>$debug[1]</td></tr>\n";
}
echo "</table>\n";
unset($GLOBALS[''XMLRPC_DEBUG_INFO'']);
}else{
echo "<p>No debugging information available yet.</p>";
}
}
function XMLRPC_show($data, $func = "print_r", $return_str = false){
ob_start();
$func($data);
$output = ob_get_con

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号