為了說明如何應用nusoap和php來構建web services,我們將舉乙個簡單的例子。這個例子應用程式由乙個php web services的伺服器端和客戶端組成。他將實現兩個功能:顛倒乙個字串字元的順序,求兩個數的和。
php soap伺服器
用php和nusoap來建立soap伺服器非常容易。基本上,你只要寫出你想要暴露給你的web services的函式,然後用nusoap去註冊它們就可以了。
ok,另外還需要兩步才能完成php soap伺服器的建立。首先你還要在你的php**中建立nusoap物件的乙個例項,然後用http post方法將原始資料傳給nusoap進行處理。聽起來簡單吧。先看看清單1。
清單1:soapfunc.php
<?
require_once('nusoap.php');
function reverse($str)
for ($i = 1; $i <= strlen($str); $i++)
return $retval;
}function add2numbers($num1, $num2)
if (trim($num2) != intval($num2))
return ($num1 + $num2);
}?>
清單1給出了soapfunc.php的原始檔。這個檔案包含了我們想通過soap協議暴露給web services的兩個函式:reverse和add2numbers,它們是我們這個web services 應用的核心。函式reverse帶乙個引數,顛倒字串中的字元的順序,然後返回。
清單2:soapserver.php
清單2舉例說明了nusoap註冊函式和呼叫soap處理程式的用法。你看到了,註冊你的兩個函式(在soapfunc.php中)、傳遞post資料給soap_server物件,就跟建立乙個新的soap_server物件例項一樣的簡單。soap_server物件將要檢查post資料並確定將呼叫哪個函式,然後向這個php函式傳遞引數。從php函式返回的資料被重新包裝為soap響應並傳送給請求服務的soap客戶端。
php soap客戶端
現在我們已經利用nusoap和php建立了乙個soap伺服器,我們需要對它進行測試。像我們建立soap伺服器程式一樣,我們可以在php中利用nusoap再建立乙個soap的客戶端程式。清單3給出了php soap客戶端程式的源程式。
現在我們已經利用nusoap和php建立了乙個soap伺服器,我們需要對它進行測試。像我們建立soap伺服器程式一樣,我們可以在php中利用nusoap再建立乙個soap的客戶端程式。清單3給出了php soap客戶端程式的源程式。
清單3:soapclient.php
為了在乙個soap伺服器上能使用php客戶端程式,你還得做三件事情。第一,你要建立乙個soapclient物件。soapclient物件負責處理引數的編組和soap協議。soapclient需要乙個必須是url的引數。這個url可以指向乙個實際soap伺服器的http終端或者乙個wsdl描述。在我們這個例子裡,它是指向我們的php soap伺服器的乙個url。
當呼叫需要引數的函式時,你需要先建立乙個引數陣列,陣列包括一組鍵-值(key-value)對。鍵(key)是引數的名字,值(value)是引數的值。
當需要呼叫函式時,你就用soapclient物件去呼叫,並且傳入兩個引數。第乙個引數是你要呼叫的函式的名字,第二個引數是包含soap函式所帶引數的乙個陣列,主調函式將會返回你呼叫的soap函式的值。
要執行這個例子,只要簡單的在web瀏覽器中輸入soapclient.php的url。你將類似以下的輸出:
if you reverse 'this string will be reversed', you get 'desrever eb lliw gnirts siht' if you add 5 and 14 you get 19
NuSOAP構建基於PHP的SOAP服務
為了說明如何應用nusoap和php來構建web services,我們將舉乙個簡單的例子。這個例子應用程式由乙個php web services的伺服器端和客戶端組成。他將實現兩個功能 顛倒乙個字串字元的順序,求兩個數的和。php soap伺服器 用php和nusoap來建立soap伺服器非常容易...
基於Drupal的CMS構建
1.在 var www 下建立資料夾 sync a html html zhxue 2.修改配置檔案,新增 的資料庫資訊 vi sites default settings.php databases array default array default array database openci...
構建基於ipchains的Linux防火牆
眾所周知,linux可以作為乙個優秀的防火牆軟體使用。無論是結合web或ftp 使用,還是作為內部lan的前端伺服器,linux都能夠為構造滿足使用者特殊需求的防火牆提供必需的工具。ipchains內置於linux核心,它是乙個在系統之間拒絕 接受 路由資料報的基本防火牆工具。由於有了ipchain...