PHP 開発 WebServices
WSO2 WSF/PHP (WSO2 Web Services Framework/PHP、WSO2 Web Services Framework) は、Web サービスを作成して使用できるようにする PHP 拡張機能です。 SOAP1.1、SOAP1.2、MTOM、Web サービス アドレッシング、Web サービス セキュリティをサポートし、REST スタイルの呼び出しもサポートします。 WSO2 WSF/PHP の最新バージョン (v2.0.0) がリリースされました。
ここでは、WSO2 WSF/PHP 拡張機能を使用して簡単な電卓サービスを作成する方法を説明する短いガイドを示します。
(前提: Apache HTTP サーバーがマシンにインストールされており、Apache サーバーでの PHP スクリプトの実行には基本的に慣れています)
ステップ 1: 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 lib xml 2 4. apt-get install libxml2-dev 5. 下载 WSF/PHP v2.0.0 并解压到一个目录 6. 在命令行访问该目录,以“root”执行下列命令: ./configure make make install 7. /etc/init.d/apache2 restart
ステップ 2: 電卓サービスを作成する
CalculatorService.php という名前のスクリプトを作成し、Apache HTTP サーバーの Web ルート (通常は /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 "p" : $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:298c9bd6ad6e8c821dc63aa0473d6209/CalculatorService.php からアクセスできます。
ステップ 3: 電卓クライアントを作成する
クライアントを作成し、この電卓サービスを呼び出し、結果を出力します。
スクリプトの名前は CalculatorClient.php で、Apache HTTP サーバーの Web ルートに配置されます。
Apache サーバーのポート (例: http://www.php.cn/: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()); } } ?>
ステップ 4: サービスにアクセスします
次のように CalculatorClient.php を実行してサービスにアクセスします:
http://localhost:298c9bd6ad6e8c821dc63aa0473d6209/CalculatorService.php
以上がPHP で Web サービスを開発するためのサンプル コードの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。