近日一項目中需要使用php調用web service接口進行開發,因為以前沒有接觸過這種項目,於是乎百度,谷歌了一番,數小時的研究基本上已經對這方面有了個初步的認識。先初步的總結一下。關於php調用web service接口其實主要用到的是php的一個內置處理soap的模塊,整個過程還是比較easy的。下面是自己寫的一個小例子,僅供參考。
- <?php
- $soap=new SoapClient('http://www.daimajiayuan.com/javascript-function/677.html/service/searchFlightService2.0?wsdl');
- //$soap=new SoapClient('http://www.daimajiayuan.com/javascript-function/677.html/service/searchFlightService2.0?wsdl',array('encoding'=>'UTF-8'));帶參數的調用方式
- echo '<pre>';
- print_r($soap->__getFunctions());//列出當前SOAP所有的方法,參數和數據類型,也可以說是獲得web service的接口
- print_r($soap->__getTypes());//列出每個web serice接口對應的結構體
- class searchFlightResponse{
- var $qqCode='10000';
- };
- $searchFlightResponse_array=array(new searchFlightResponse);
- $result=$soap->__Call('searchFlight',$searchFlightResponse_array);
- //上面的調用方式也可以寫做 $soap->searchFlight($searchFlightResponse_array);
- print_r($result);
- ?>
代碼其實很簡單,創建SoapClient對象時,可以使用保存在本地WSDL文件,也可以使用遠程的地址,后面的array數組里可以帶上很多的參數,具體參數可以查php的SoapClient幫助,這里帶的是字符集編碼,如果調用方法的參數里有中文,一定要指定字符集編碼,否則會出錯。
轉載請注明:代碼家園 » PHP如何調用webservice