PHP用途非常廣泛,我們可以運(yùn)用龐大的函數(shù)來(lái)幫助我們實(shí)現(xiàn)各種功能需求。下面我們就一起來(lái)看看有關(guān)PHP鏈接WEB SERVICE類(lèi)的使用方法。
PHP鏈接WEB SERVICE類(lèi)代碼實(shí)例:
//通訊類(lèi)開(kāi)始
class webserv
{
//webservice 地址參數(shù)
var $webadd = array(
"publ" => "client.asmx?wsdl",
"client" => "Client.asmx?wsdl",
"bann" => "");
//調(diào)用webservice
function soap($class,$function,$par = array()){
//鏈接
web service
$client = new SoapClient($this->webadd[$class]);
$require = $client->$function($par);
//調(diào)用信息debug
if (is_soap_fault($require)) {
echo "遠(yuǎn)程接口".$function."調(diào)用失??!";
exit();
}
//獲取返回值
$function_result = $function."Result";
$str = $require->$function_result;
//解析XML
$row = @simplexml_load_string( $str );
//如果不能用XML解析直接返回
if ($row == false) {
if (is_string($str)){
return $str;
} else {
$require = (get_object_vars($str));
$str = $require['string'];
return $str;
}
}
//結(jié)果轉(zhuǎn)換為數(shù)組
$row_arr = get_object_vars($row);
print_r($row_arr);exit();
$row_return = $row_arr['Table'];
//判斷是不是多反饋記錄
if (is_array($row_arr['Table'])) {
foreach ($row_return as $key => $vlaues){
$rows[$key] = get_object_vars($vlaues);
}
} else {
$rows[0] = get_object_vars($row_arr['Table']);
}
//通訊記錄
//$this->soap_log($class,$function,$par,$rows);
return $rows;
}
//接口通訊記錄
function soap_log($class, $function, $in, $out){
$log = date("Y-m-d H:i:s");
$log .= " ".$class."->".$function." input:";
$input = "";
if ($in != array()) {
foreach ($in as $key => $vlaue){
$input .= $key."=".$vlaue;
}
$log .= $input." output:".var_export($rows)."\n";
}
}
}
以上是通信類(lèi)的內(nèi)容。用法很簡(jiǎn)單
include 一下PHP鏈接WEB SERVICE類(lèi)文件
< ? include "./webserv.class.php"; $webserv = new webserv; //這里是調(diào)用方法給傳遞的參數(shù) $a = array("aa"=>"aaaa"); print_r($webser->soap("function_name",$a)); ?> 以上就是PHP鏈接WEB SERVICE類(lèi)的相關(guān)使用方法
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇