今天學習到soap,偶遇到一介紹soap的博文,mark下。
php有兩個擴充套件可以實現web service,乙個是nusoap,乙個是php 官方的soap擴充套件,由於soap是官方的,所以我們這裡以soap來實現web service.由於預設是沒有開啟soap擴充套件的,所以自己先看一下soap擴充套件有沒有開啟。
在soap編寫web service的過程中主要用到了soapclient,soapserver,soapfault三個類。
soapclient類
這個類用來使用web services。soapclient類可以作為給定web services的客戶端。
它有兩種操作形式:
* wsdl 模式
* non-wsdl 模式
在wsdl模式中,構造器可以使用wsdl檔名作為引數,並從wsdl中提取服務所使用的資訊。
non-wsdl模式中使用引數來傳遞要使用的資訊。
soapserver類
這個類可以用來提供web services。與soapclient類似,soapserver也有兩種操作模式:wsdl模式和non-wsdl模式。這兩種模式的意義跟 soapclient的兩種模式一樣。在wsdl模式中,服務實現了wsdl提供的介面;在non-wsdl模式中,引數被用來管理服務的行為。
在soapserver類的眾多方法中,有三個方法比較重要。它們是soapserver::setclass(),soapserver::addfunction()和soapserver::handle()。
下面給出例項:
定義乙個提供服務的php類,這個類所提供的函式就是web service對外提供的服務
<?php
class personinfo
}?>
下面給出伺服器端的**:
<?php
//包含提供服務的類進來
require_once('personinfo.php');
//wsdl方式提供web service,如果生成了wsdl檔案則可直接傳遞到//soapserver的建構函式中
//$s = new soapserver('personinfo.wsdl');
//doesn't work 只有location不能提供web service
//下面兩種方式均可以工作,只要指定了相應的uri
下面是客戶端**:
<?php
trycatch(soapfault $e)catch(exception $e)
?>
利用PHP SOAP實現WEB SERVICE
php有兩個擴充套件可以實現web service,乙個是nusoap,乙個是php 官方的soap擴充套件,由於soap是官方的,所以我們這裡以soap來實現web service.由於預設是沒有開啟soap擴充套件的,所以自己先看一下soap擴充套件有沒有開啟。在soap編寫web servic...
利用PHP SOAP實現WEB SERVICE
php有兩個擴充套件可以實現web service,乙個是nusoap,乙個是php 官方的soap擴充套件,由於soap是官方的,所以我們這裡以soap來實現web service.由於預設是沒有開啟soap擴充套件的,所以自己先看一下soap擴充套件有沒有開啟。在soap編寫web servic...
利用PHP SOAP實現web service
一 什麼是soap?可以做什麼?二 什麼是wsdl?可以做什麼?wsdl 指網路服務描述語言。是一種基於xml編寫的文件。為使用者提供詳細的介面說明書。怎樣向別人介紹你的web服務 web service 有哪些功能,以及每個函式呼叫時的引數呢?你可能會自己寫一套文件,甚至可能會口頭告訴使用你web...