Web Service 例
あらゆるアプリケーションが Web Service コンポーネントを持つことができます。
Web Service の作成はプログラミング言語の種類に関係ありません。
この章では、PHP の SOAP 拡張機能を使用して Web Service を作成する方法を紹介します。
SOAP には、NO-WSDL と WSDL の2つの操作モードがあります。
- NO-WSDL モード:パラメータを使用して、使用する情報を渡します。
- WSDL モード:WSDL ファイル名をパラメータとして使用し、WSDL からサービスに必要な情報を抽出します。
例:PHP Web Service
サンプルを始める前に、PHP に SOAP 拡張機能がインストールされているか確認する必要があります。phpinfo を確認し、以下の情報が表示されていれば SOAP 拡張機能がインストールされています。

この例では、PHP の SOAP を使用して簡単な Web Service を作成します。
サーバー側Server.phpファイルのコードは次のとおりです:
<?php
// SiteInfo 类用于处理请求
Class SiteInfo
{
/**
* 返回网站名称
* @return string
*
*/
public function getName(){
return "サンプル";
}
public function getUrl(){
return "www.example.com";
}
}
// 创建 SoapServer 对象
$s = new SoapServer(null,array("location"=>"http://localhost/soap/Server.php","uri"=>"Server.php"));
// 导出 SiteInfo 类中的全部函数
$s->setClass("SiteInfo");
// 处理一个SOAP请求,调用必要的功能,并发送回一个响应。
$s->handle();
?>
クライアント側Client.phpファイルのコードは次のとおりです:
<?php
try{
// non-wsdl方式调用web service
// 创建 SoapClient 对象
$soap = new SoapClient(null,array('location'=>"http://localhost/soap/Server.php",'uri'=>'Server.php'));
// 调用函数
$result1 = $soap->getName();
$result2 = $soap->__soapCall("getUrl",array());
echo $result1."<br/>";
echo $result2;
} catch(SoapFault $e){
echo $e->getMessage();
}catch(Exception $e){
echo $e->getMessage();
}
このとき、http://localhost/soap/Client.php にアクセスすると、出力結果は次のようになります。
