怎么用PHP调用WEBSERVICE_怎么用PHP调用web服务?

<?


class webSrvClass  
{  
//webservice 地址参数  


//调用webservice  
function soap($function,$par = array()){  
//链接 web service  需要注意下面的url地址是.net提供的,后面加个?wsdl才是描述定义文件哈,请各自取正确的wsdl地址(每种web服务都有的)
$client = new SoapClient("http://192.168.1.120:88/MainServer.MainServer.svc?wsdl", array('exceptions' => 0));  
$require = $client->$function($par);  
//调用信息debug  
if (is_soap_fault($require)) {  
echo "远程接口".$function."调用失败!";  
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;  
}  
}  
//结果转换为数组  
$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";  
}  
}  








//调用方法


$webserv = new webSrvClass;  
//这里是调用方法给传递的参数  
$a = array("userID"=>"1024","payAmt"=>"12.3","payDate"=>date("yyy-m-d H:i:s"));  
echo 'server echo:'.($webserv->soap("AddPayCash",$a)); 




?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值