PHP開發Web服務

來源:互聯網
上載者:User

PHP開發Web服務

WSO2 WSF/PHP(WSO2 Web Services Framework/PHP,WSO2 Web服務架構) 是一個PHP擴充,允許用來建立和使用Web服務。它支援SOAP1.1、SOAP1.2、MTOM、Web服務定址、Web服務安全,也支援REST風格的調用。WSO2 WSF/PHP最新的版本(v2.0.0)剛發布。
下面是一個簡短的指南解釋了怎樣用WSO2 WSF/PHP擴充建立一個簡單的計算機服務。
(假設:Apache HTTP伺服器已經安裝在你的機器上,且你基本熟悉在Apache伺服器上運行PHP指令碼)

第一步:安裝WSO2 WSF/PHP擴充
在Ubuntu下,有下列步驟:
1. apt-get install php5
2. apt-get install php5-dev
3. apt-get libapache2-mod-php5
3. apt-get install libxml2
4. apt-get install libxml2-dev
5. 下載 WSF/PHP v2.0.0 並解壓到一個目錄
6. 在命令列訪問該目錄,以“root”執行下列命令:
./configure
make
make install
7. /etc/init.d/apache2 restart

第二步:編寫計算機服務
建立一個名為CalculatorService.php的指令碼,且放入Apache HTTP伺服器的web root(通常是 /var/www)。
<?php
function calculate($inMessage){
$simplexml = new SimpleXMLElement($inMessage->str);
$operand1 = $simplexml->param1[0];
$operand2 = $simplexml->param2[0];
$operation = $simplexml->param3[0];
if($operation != null)
{
  switch($operation)
  {
  case "add" : $result= $operand1 + $operand2; break;
  case "sub" : $result= $operand1 - $operand2; break;
  case "mul" : $result= $operand1 * $operand2; break;
  case "div" : $result= $operand1 / $operand2; break;
  }
}

$response = <<<XML
  <result>$result</result>
XML;
$returnMsg = new WSMessage($response);
return $returnMsg;
}

$service = new WSService(array("operations" => array("calculate")));
$service->reply();
?>
一旦部署後,可以從http://localhost:<port>/CalculatorService.php訪問它。

第三步:編寫計算機用戶端
編寫一個用戶端,調用此計算機服務,並列印結果。
該指令碼命名為CalculatorClient.php,且放入Apache HTTP伺服器的web root。
不要忘了改變Apache伺服器的連接埠(即http://localhost:81/CalculatorService.php)來匹配伺服器。
<?php
$requestPayload = <<<XML
<calculate>
<param1>100</param1>
<param2>43</param2>
<param3>add</param3>
</calculate>
XML;

try{
$message = new WSMessage($requestPayload,
  array("to" => "http://localhost:81/CalculatorService.php"));
$client = new WSClient();
$response = $client->request($message);  
echo "Answer : $response->str";
}
catch (Exception $e){  
if ($e instanceof WSFault){
  $fault = $e;
  printf("Soap Fault received. Code: '%s' .Reason: '%s'/n",
  $fault->code, $fault->reason);
}else{
  printf("Exception occurred. Message: '%s'/n", $e->getMessage());
}
}
?>

第四步:訪問服務
通過執行CalculatorClient.php訪問服務,如下:
http://localhost:<port>/CalculatorService.php

以上只是建立計算機服務的基本例子。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.