SOAP 是基於XML和HTTP通訊協議,XML各個平台,各種語言都支持的一種語言。
WSDL 是網絡服務描述語言(Web Services Description Language),是一種使用XML格式的文檔。這種文檔可描述某個Web Service。可規定服務的位置,及服務提供的操作。
不同語言之間需要通信(例如:php,java,c),可以通過SOAP,WSDL使不同操作系統,不同技術的編程語言互相通信。
php soap 擴展安裝
擴展位置在php安裝包的 ext/soap 目錄,安裝步驟:
cd php-5.3.15/ext/soap phpize ./configure sudo make sudo make test
安裝成功後在phpinfo可以看到soap擴展
SOAP有兩種操作方式,NO-WSDL 與 WSDL。
NO-WSDL模式:使用參數來傳遞要使用的信息
WSDL模式: 使用WSDL文件名作為參數,並從WSDL中提取服務所需的信息。(每次修改都需要修改client與server的wsdl文件,沒有NO-WSDL模式靈活,以後再介紹這種模式的使用)
SOAP中主要用到三個類,SOAPServer,SOAPClient,SOAPFault
NO-WSDL模式:
soapHandle.class.php 處理請求
<?php class soapHandle{ public function strtolink($url=''){ return sprintf('<a href="%s">%s</a>', $url, $url); } } ?>