CodeZine(コードジン)

特集ページ一覧

PHP 5でSOAPおよびRPC Webサービスを開発する

PHPでWebサービスを作成および利用する2つの標準的な方法

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/08/04 14:00
目次

SOAPサーバコード

 PHPでのSOAPサーバオブジェクトの作成は、非常に簡単です。

 次に例を示します。

$server = new SoapServer("some.wsdl");

 非WSDLモードの場合はこうなります。

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

 そこで、私のサンプルの場合は、次のようになります。

$server = new SoapServer("hw.wsdl");

 実行する実際の関数を登録し、着信リクエストの処理を開始する必要もあります。

$server->addFunction("getHW"); 
$server->handle(); 

 コード全体を次に示します。

<?php 

function getHW($arr) { 

$result  =  array_sum($arr);
  
return "<HTML>
 <HEAD>
  <TITLE>SOAP Server Example</TITLE>
 </HEAD
 <BODY>
 <table>
 <tr>
  <th>SOAP Server Example - adding array on the server</th>  
 </tr>
 <tr>
  <td>$arr[0] + $arr[1] = $result</td>  
 </tr>
</table>
</BODY>
</HTML>";
} 

ini_set("soap.wsdl_cache_enabled", "0"); 
$server = new SoapServer("hw.wsdl");
$server->addFunction("getHW"); 
$server->handle(); 

?>

SOAPクライアントコード

 クライアントコードはさらに簡単です。「コントラクト」、つまりWSDLファイルの場所を指定し、定義ごとにクライアントに関数を呼び出させて数値配列を渡す必要があります。

<?php  
  $client = new SoapClient("http://localhost/hw.wsdl");
  $response = $client->getHW(array(1,2));
  echo $response;
?>

 結果は、1 + 2 = 3のようになります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:japan.internet.com翻訳記事

もっと読む

著者プロフィール

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.com や EarthWeb.c...

  • Vlad Kofman(Vlad Kofman)

    ウォールストリート有数の企業でエンタープライズレベルのプロジェクトに携わる。また、米国政府の防衛関連の仕事も手がけている。特に関心を寄せているのは、オブジェクト指向プログラミング方法論、UI、デザインパターン。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5