<?
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));
?>
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));
?>