麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php的webservice之soap

2020-03-22 17:58:23
字體:
來源:轉載
供稿:網友
  • 今天我打算總結下php自帶的soap類的使用,總結才有進步。

    1、通過開放的webservice獲取天氣預報數據

    這里通過一個開放的提供soap webservice接口的網站說明下如何根據wsdl(什么是wsdl?)使用php調用現有的soap服務!


    <?php/** * 從開放的天氣預報服務中獲得數據 ***/ $c = new SoapClient( 'http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl',			     array( 'trace' => true, 'exceptions' => true ) ); //var_dump( $c->__getFunctions() );//var_dump( $c->__getTypes() );//不需要參數的情況$pr =$c->getRegionProvince();//var_dump( $pr->getRegionProvinceResult->string ); //帶有參數的情況$scs = $c->getSupportCityString( array( 'theRegionCode' => '福建' ) );var_dump( $scs->getSupportCityStringResult->string ); //也可以這樣做$we = $c->__call('getWeather', array( array( 'theCityCode' => 2210 ) ) );var_dump( $we );?>

    2、如何實現php的soapServer和SoapClient

    還是看代碼不說話,我這里有個簡單的例子,注意,實際應用中一定要對異常進行處理,否則不方便和php以外的程序通信。
    這是服務端代碼:


    <?php$ss = new SoapServer( null, array( 'uri' => 'http://zendstudio.Net' ) );$ss->setClass( 't', '參數1', '參數2' );$ss->handle();//$request = file_get_contents( 'php://input' );//file_put_contents( 'request.txt', $request );html' target='_blank'>class t{ 	function __construct( $p1, $p2 ){ 	} 	function im8( $g ){		return 'OK----'. $g;	} }?>

    客戶端代碼:


    <?php$ss = new SoapClient( null, array( 'uri' => 'http://zendstudio.Net', 'location' => 'http://localhost/soap.php' ) );$header = new SoapHeader( 'zendHeader', 'mmcYY', '12345678' );$ss->__setSoapHeaders( $header );echo $ss->im8( 'gently' ); ?>

    3、如何在php的soap客戶端和服務端添加SoapHeader頭

    實際上,上面的例子已經實現了在客戶端添加SoapHeader,而服務端的添加SoapHeader同樣的簡單,實例化一個SoapHeader,然后使用SoapServer的addSoapHeader方法添加進去即可,這個頭一般是學習php soap的一個難點,通常我們做的最多的是用soap的方式和其他程序通信,用php如何構造soapheader顯得有些不容易,以至于依賴于這個頭的服務端總是返回不正確。

    4、從php的服務端如何獲取SoapHeader

    這個大概就是很多人認為php對soap支持不完整的一個原因,目前的php版本無法直接獲取SoapHeader,因此我想了一個笨方法,先通過使用php://input,獲取所有POST上來的數據,然后使用正則表達式分離出SoapHeader的XML部分,然后再整理出想要的格式。

    另外,在PHP的SoapServer端可以通過轉存$_SERVER和上面講到的php://input獲取soap的“原始”通信內容。


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 免费毛片观看 | 国产精品美女一区二区 | 在线看免电影网站 | 国产1区2区3区中文字幕 | 国内久久久久 | 成人在线视频黄色 | 免费国产之a视频 | 手机av免费电影 | www日韩在线 | 91综合影院 | 天天干天天透 | 国产日韩三区 | 31freehdxxxx欧美| 毛片视频网站 | 正在播放91| 国产成人在线网站 | 精品国内视频 | 宅男噜噜噜66一区二区 | 福利一区二区三区视频在线观看 | 国产精品一区99 | 一区二区久久久久草草 | 欧美激情天堂 | 极品美女一级毛片 | 日本娇小videos高潮 | www.91视频com | 国产激情网 | 制服丝袜日日夜夜 | 天天好比网| 日本韩国欧美一级片 | 7777视频 | 国产一级在线免费观看 | 人成久久 | 国产无限资源在线观看 | av观看网站 | 国产毛毛片一区二区三区四区 | 久久影院国产精品 | 少妇的肉体k8经典 | 看中国一级毛片 | 九色激情网 | 午夜视频久久 | 牛牛视频在线 |