详细解读PHP链接WEB SERVICE类
2013-09-04 21:52
337 查看
PHP链接WEB SERVICE类代码实例:
//通讯类开始 class webserv { //webservice 地址参数 var $webadd = array( "publ" => "client.asmx?wsdl", "client" => "Client.asmx?wsdl", "bann" => ""); //调用webservice function soap($class,$function,$par = array()){ //链接 web service $client = new SoapClient($this->webadd[$class]); $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"; } } }
以上是通信类的内容。用法很简单
include 一下PHP链接WEB SERVICE类文件
< ? include "./webserv.class.php"; $webserv = new webserv; //这里是调用方法给传递的参数 $a = array("aa"=>"aaaa"); print_r($webser->soap("function_name",$a)); ?> 以上就是PHP链接WEB SERVICE类的相关使用方法。
//通讯类开始 class webserv { //webservice 地址参数 var $webadd = array( "publ" => "client.asmx?wsdl", "client" => "Client.asmx?wsdl", "bann" => ""); //调用webservice function soap($class,$function,$par = array()){ //链接 web service $client = new SoapClient($this->webadd[$class]); $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"; } } }
以上是通信类的内容。用法很简单
include 一下PHP链接WEB SERVICE类文件
< ? include "./webserv.class.php"; $webserv = new webserv; //这里是调用方法给传递的参数 $a = array("aa"=>"aaaa"); print_r($webser->soap("function_name",$a)); ?> 以上就是PHP链接WEB SERVICE类的相关使用方法。
相关文章推荐
- PHP数组的详细解读
- PHP冒泡排序算法详细解读
- PHP弹出对话框技巧详细解读
- 详细解读PHP中接口的应用
- 详细解读PHP模板的作用
- Linux中软链接与硬链接详细解读
- 详细解读PHP获取远程图片技巧
- 详细解读PHP时区修改正确方法
- PHP中foreach详细解读
- 详细解读PHP的Yii框架中登陆功能的实现
- 详细解读PHP解析XML元素结构的代码示例
- 详细解读PHP的Yii框架中登陆功能的实现
- PHP数组内存利用率低和弱类型详细解读
- PHP冒泡排序算法代码详细解读
- 详细解读php的命名空间(一)
- 详细解读PHP弹出对话框技巧
- 详细解读php的命名空间(一)
- 详细解读PHP中接口的应用
- PHP中return用法详细解读