在這篇文章中將演示如何使用PHP程式碼來編寫Web Service功能。 這是一個非常初級的Web服務範例,但可將它擴充套件並在伺服器上執行它。需要以下幾個步驟 -
SOAP基於XML,因此被認為是人類可讀性較好的檔案(程式碼)。SOAP是用於存取Web服務的協定。 它是一種簡單的基於XML的協定,允許應用程式通過HTTP交換資訊。
在實際應用中,通過遠端過程呼叫(RPC)在DCOM和CORBA之類的物件之間進行資料通訊需要很多應用程式,但HTTP不是為此而設計的。
在應用程式之間進行通訊的更好方法是通過HTTP,因為所有Internet瀏覽器和伺服器都支援HTTP。 這就是為什麼它比SOAP服務更可取。
我們可以與其他程式員在多個平台上構建大型和複雜的應用程式進行共同作業。
在這裡,將使用PHP程式碼建立一個Web服務。 所以按照下面給出的步驟:
第1步:首先從 http://sourceforge.net/projects/nusoap/ 下載nusoap
庫。
第2步:執行WAMP伺服器,進入到D:/wamp/www
根檔案夾位置。
第3步:在D:/wamp/www
根檔案夾中建立一個檔案夾:websoap 。
第4步:將第1步下載檔案中的lib
檔案夾複製到D:/wamp/www
目錄中。
第5步:在websoap 檔案夾中建立兩個PHP檔案 - server.php
和 client.php
。
第6步:在server.php
檔案裡面,編寫下面程式碼內容:
<?php
ini_set('display_errors', 'Off');
//call library
require_once ('lib/nusoap.php');
//using soap_server to create server object
$server = new soap_server;
$server->soap_defencoding = 'UTF-8';
$server->decode_utf8 = false;
$server->xml_encoding = 'UTF-8';
//$server->register('sayHello', array("name"=>"xsd:string"), array("return"=>"xsd:string"));
//register a function that works on server
$server->register('sayHello');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
// create HTTP listener
$server->service($HTTP_RAW_POST_DATA);
function sayHello($name='Maxsu') {
return "Hello, {$name}!";
}
第7步:建立server.php
檔案後,現在測試此伺服器功能。 開啟瀏覽器並輸入URL => http://localhost/wsoap/server.php?wsdl
。
第8步:在wsoap檔案夾建立一個client.php
檔案,編寫下面程式碼內容:
<?php
ini_set('display_errors', 'On');
require_once ('lib/nusoap.php');
//Give it value at parameter
//Create object that referer a web services
$client = new soapclient('http://localhost/wsoap/server.php');
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = false;
$client->xml_encoding = 'UTF-8';
//Call a function at server and send parameters too
$params=array('name'=>'Maxsu');
$result = $client->call('sayHello', $params);
if (!$err=$client->getError()) {
echo "return: ",htmlentities($result,ENT_QUOTES);
} else {
echo "Error: ",htmlentities($err,ENT_QUOTES);
}
開啟瀏覽器,開啟瀏覽器存取:http://localhost/wsoap/client.php
,得到以下結果 -
這個範例演示了如何使用簡單的SOAP Web服務並從用戶端的服務獲取訊息。希望這篇文章能幫助您使用SOAP建立一個簡單的Web服務。