第一節,認識web服務php
SOAPweb
簡單對象訪問協議(Simple Object Access Protocol,SOAP)是最健壯的Web服務協議。該協議能夠發現應用程序功能,自動肯定數據類型,具有數據有效性驗證的能力並指出複雜的請求和響應數據結構。SOAP利用XML模式實現數據交換,一般位於通訊協議HTTP之上。windows
SOAP 和 PHP緩存
SOAP是一個消息收發協議,它與底層平臺無關,也就是說可使用多種Internet協議,例如HTTP,SMTP,甚至MIME。SOAP利用XML做爲他的信息交換方法論的一部分,而且這裏要注意的另一件事情就是web服務描述語言(Web Service Description Lanaguage,WSDL)也可用於使工做變得更加簡單。服務器
SOAP作了些什麼呢?簡單的說就是它容許在一個非集中的,分佈式的環境中傳遞結構化的、類型化的數據。這意味着可以將一個請求從數據中心正在運行PHP應用程序的GNU/LINUX服務器上,傳遞到另外一臺Solaris計算機的J2EE應用程序中,而且能夠獲得徹底一致的響應。經過使用SOAP,以前不少數據轉換和系統集成問題都獲得瞭解決,而且有了一個再任何具備可行XML解析器的平臺上運行的遠程過程調用機制。數據結構
PHP SOAP擴展分佈式
咱們必須手動將SOAP擴展加到PHP.ini 文件中,對於windows爲 extension=php_soap.dll ,而對於Linux 版本則採用帶--enable-soap 的編譯。性能
經過PHP配置設置能夠指定是否但願緩存WSDL頁面,但願將他們緩存在什麼位置,以及但願使用文件的緩存副本多長時間。這就意味着應用程序的執行時間只須要包含一次下載WSDL的時間;若是認爲這能夠很大程度上改進應用程序的性能,能夠將下面的代碼行添加到php.ini文件中spa
;SOAP ;Boolean paramater to indicate whether caching should occur soap.wsdl_cache_enabled="1" ;directory where files are to be cached soap.wsdl_cache_dir="/tmp/wsdlcache" ;time,given in seconds,to use the cached copy -ttl =time to live soap.wsdl_cache_ttl="86400"