程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 詳細解讀PHP鏈接WEB SERVICE類

詳細解讀PHP鏈接WEB SERVICE類

編輯:關於PHP編程

PHP鏈接WEB SERVICE類代碼實例:

  1. //通訊類開始  
  2. class webserv  
  3. {  
  4. //webservice 地址參數  
  5. var $webadd = array(  
  6. "publ" => "client.asmx?wsdl",   
  7. "client" => "Client.asmx?wsdl",   
  8. "bann" => "");   
  9. //調用webservice  
  10. function soap($class,$function,$par = array()){  
  11. //鏈接  
  12. web service  
  13. $client = new SoapClient($this->webadd[$class]);  
  14. $require = $client->$function($par);  
  15. //調用信息debug  
  16. if (is_soap_fault($require)) {  
  17. echo "遠程接口".$function."調用失敗!";  
  18. exit();  
  19. }  
  20. //獲取返回值  
  21. $function_result = $function."Result";  
  22. $str = $require->$function_result;  
  23. //解析XML  
  24. $row = @simplexml_load_string( $str );  
  25. //如果不能用XML解析直接返回  
  26. if ($row == false) {  
  27. if (is_string($str)){  
  28. return $str;  
  29. } else {  
  30. $require = (get_object_vars($str));  
  31. $str = $require['string'];  
  32. return $str;  
  33. }  
  34. }  
  35. //結果轉換為數組  
  36. $row_arr = get_object_vars($row);  
  37. print_r($row_arr);exit();  
  38. $row_return = $row_arr['Table'];  
  39. //判斷是不是多反饋記錄  
  40. if (is_array($row_arr['Table'])) {  
  41. foreach ($row_return as $key => $vlaues){  
  42. $rows[$key] = get_object_vars($vlaues);  
  43. }  
  44. } else {  
  45. $rows[0] = get_object_vars($row_arr['Table']);  
  46. }  
  47. //通訊記錄  
  48. //$this->soap_log($class,$function,$par,$rows);  
  49. return $rows;  
  50. }  
  51. //接口通訊記錄  
  52. function soap_log($class, $function, $in, $out){  
  53. $log = date("Y-m-d H:i:s");  
  54. $log ." ".$class."->".$function." input:";  
  55. $input = "";  
  56. if ($in != array()) {  
  57. foreach ($in as $key => $vlaue){  
  58. $input .= $key."=".$vlaue;  
  59. }  
  60. $log .= $input." output:".var_export($rows)."n";  
  61. }  
  62. }  


以上是通信類的內容。用法很簡單

include 一下PHP鏈接WEB SERVICE類文件

  1. < ?  
  2. include "./webserv.class.php";  
  3. $webserv = new webserv;  
  4. //這裡是調用方法給傳遞的參數  
  5. $a = array("aa"=>"aaaa");  
  6. print_r($webser->soap("function_name",$a));  
  7. ?> 

以上就是PHP鏈接WEB SERVICE類的相關使用方法。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved