成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP中SOAP協議的使用和相關調試

網絡 網絡管理
這里我們主要講解了PHP中SOAP協議的使用。那么具體的代碼和操作結果,我們都有介紹,希望對大家有所幫助。

這次我們主要講解一下PHP的調試內容,其中涉及了SOAP協議的使用。使用PHP中調用 WebService,聽上去有些高深莫測啊.其實這是很簡單的一件事.由于 Web服務完全是基于 XML 這種平臺無關性的標記語言來實現的,所以在 PHP中實現訪問 WebService 是可能的.本例我們來完成這樣一個 Web服務的調用:獲取手機號信息.在互聯網上找到這樣一個 Web服務是比較容易的,這里我為大家提供一個現成的:http://www.webxml.com.cn/zh_cn/web_services_item.aspx?id=776756327947797A706B413D.

該網站提供了一系列的 Web服務,其中有收費的,也有可以免費使用的.在您打開上述網址后,將會列出"通訊和通信"分類下的所有可用 Web服務.如果網站內容沒發生改變,那么您在右側看到的第一條即為"國內手機號碼歸屬地查詢WEB服務".每個 Web服務下面,包括了三項地址:EndPoint、Disco和 Wsdl.至于這三項各代碼什么含義,您可查詢相關資料.這里我們要用到的是 EndPoint 和 Wsdl.

通過 EndPoint 我們可以了解如何使用該服務.打開 "EndPoint" 后面的地址:http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx.

在新打開的頁面中顯示出來該服務下所包括的方法.這個服務有兩個公有方法,分別是 getDatabaseInfo 獲得國內手機號碼歸屬地數據庫信息 getMobileCodeInfo 獲得國內手機號碼歸屬地省份、地區和手機卡類型信息.

并且,需要注意的是兩個方法的參數問題(如是否需要、需要幾個參數)和它的返回結果.第一個方法 getDatabaseInfo 不需要參數,返回的結果是一個一維數組;而第二個方法 getMobileCodeInfo 則需要兩個參數:mobileCode 和 userID,在實際使用中,這兩個參數的值分別是需要查詢地區的手機號和空字符串(免費用戶),它返回結果是一個字符串.

而 Wsdl 這個地址,是我們在 php 程序中需要使用的地址,現在返回對 PHP 的介紹.

在目前的 PHP5 中,已經提供了對 SOAP協議的支持(至于 SOAP協議的解釋,您可查詢相關資料了解),它作為一種擴展存在于 PHP 中.在默認情況下,這個擴展是沒有被開啟的.開啟該擴展的方法:打開 PHP.ini 文件,找到 ;extension=php_soap.dll 一行,將其前面的注釋符";"去掉,保存并重啟 Apache 服務.現在開始代碼編寫,頁面代碼如下:

  1. <head> 
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  3. <style type="text/css"> 
  4.    body{font-size:12px;}  
  5. </style> 
  6. </head> 
  7. <body> 
  8. <!-- 這里我隨意指定一個手機號碼,在下面的 PHP 代碼中它會作為參數的一部分 --> 
  9. <h1>A phone No: 13973738080</h1> 
  10. <?php 
  11. //這里是該服務的 WSDL 地址  
  12. $wsdl="http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl";  
  13. //實例化 Soap Client,即 Soap協議的客戶端  
  14. $client=new Soap Client($wsdl);  
  15. //使用 getMobileCodeInfo 方法,需要傳遞兩次參數,需要注意的是,這兩個參數須放到一個數組中  
  16. $onePhone=$client->getMobileCodeInfo(  
  17.       array('mobileCode'=>'13973738080',  
  18.        'userID'=>''  
  19.       )  
  20. );  
  21. //顯示返回信息  
  22. print_r($onePhone);  
  23. ?> 
  24. <hr /> 
  25. <h1>All Information</h1> 
  26. <?php   
  27. //調用另外一個方法,該方法不需要參數  
  28. $result=$client->getDatabaseInfo();  
  29. //顯示其返回結果  
  30. print_r($result);  
  31. ?> 
  32. </body> 

運行結果,如下圖:

運行結果

看起來是很簡單吧,是的,就這么簡單.由于代碼中給出了比較詳細的注釋,所以就不再作過多解釋,但仍需要向讀者說明以下幾個問題:

1. SoapClient 是存在于 Soap.dll 擴展中的一個對象,用來"扮演" Soap協議的訪問過程中的客戶端,并為其提供相關功能.相應的,該擴展中同樣存在一個用于提供(或創建) Web服務的 Soap協議服務端,它的任務由 Soap Server 來完成.至于 Soap Server 對象,我將在后續的講解中來說明它的用法.

2. Soap Client 的實例化:它的構造函數包括兩處參數,一個是 WSDL 文件(即 WSDL 地址),一個是選項列表,后面這個參數是可選的,它用來完成更復雜的訪問,如使用代理訪問,或者提供服務器需要驗證的用戶名和密碼,等等.這里不再詳述,讀者可參考相關資料.

3. Soap Client 實例化之后,就可以通過該實例化對象來調用該 WebService 的公有方法.

如果您對本文中介紹的方法有何意見或建議,請留下您的高見,歡迎交流.本文由 NBWD 原創,請放心轉載.

 

責任編輯:佟健 來源: 互聯網
相關推薦

2010-07-14 17:26:36

SOAP協議

2010-07-14 17:16:35

SOAP協議

2009-12-07 15:56:46

PHP內置SOAP

2010-09-02 16:39:30

SOAP協議

2010-07-14 17:29:36

SOAP協議

2011-06-22 10:48:35

PHP

2010-09-02 16:34:13

SOAP協議

2010-09-10 15:18:28

SOAP協議

2010-09-02 16:46:52

SOAP協議

2010-09-10 15:04:40

SOAP HTTP

2010-03-05 10:31:24

Ubuntu PHP

2010-07-06 16:43:18

UDP協議Java

2010-08-29 21:21:18

DHCP協議

2009-12-15 17:04:56

Ruby使用HTTP協

2010-06-29 15:51:22

Linux SNMP協

2010-06-30 10:26:43

2009-12-10 16:40:04

PHP處理分頁

2010-07-01 13:54:02

SSH協議

2010-06-24 16:09:30

IPX協議

2010-06-29 12:33:58

VoIP協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷久久五月 | 国产精品免费一区二区三区四区 | 97色综合| 特级毛片爽www免费版 | 黄色在线观看 | 国产专区免费 | 日韩在线一区二区 | 日韩精品一区二区三区中文字幕 | 天堂一区二区三区 | 精品国产伦一区二区三区观看方式 | 久久久国产一区二区三区 | 国产精品视频一区二区三区 | 91精品国产乱码久久久 | 欧美日韩高清免费 | 91视视频在线观看入口直接观看 | 亚洲精品中文字幕av | 欧美日一区 | 久久久精彩视频 | 欧美专区在线 | 日韩一区二区福利视频 | 久久久久久免费精品一区二区三区 | 日本精品视频在线 | 国产欧美精品一区二区色综合 | 国产69精品久久99不卡免费版 | 亚洲区在线| 日韩午夜在线观看 | 国产高清一区二区三区 | 国产成人综合一区二区三区 | 国产免费视频 | 91精品久久久久久综合五月天 | 亚洲交性| 在线视频一区二区三区 | 欧美区在线 | 精品日韩一区二区 | 69性欧美高清影院 | 亚洲欧美激情精品一区二区 | 69av网 | 毛片一区二区 | 中文字幕视频免费 | 久久成| 国产精品一区二区在线 |