まず最初に、Web サービスとは何かを簡単に理解する必要があります。次に、Web サービスがサーバー側とクライアント側から逃れることができない例を 2 つ挙げます。
テストした環境は apache2.2.11 php5.2.10
このテストを行う前に、php 構成ファイルで SOAP 拡張機能がオンになっていることを確認してください。つまり、extension=php_soap.dll;
よし、Webサービスを体験してみよう
//サーバー側serverSoap.php
$soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/"));//この URI はサーバー IP です
$soap->addFunction('minus_func');
$soap->addFunction(SOAP_FUNCTIONS_ALL);
$soap->ハンドル();
関数minus_func($i, $j){
$res = $i - $j;
$res を返します;
}
//クライアント側 clientSoap.php
試してみてください{
$client = 新しい SoapClient(null,
)
array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")
);
echo $client->minus_func(100,99);
} キャッチ (SoapFault $fault){
echo "エラー: ",$fault->faultcode,", string: ",$fault->faultstring;
}
これはクライアントがサーバー側関数を呼び出す例です。クラスを作成してみましょう。
//www.2cto.com サーバー側serverSoap.php
$classExample = array();
$soap = new SoapServer(null,array('uri'=>"http://192.168.1.179/",'classExample'=>$classExample));
$soap->setClass('chesterClass');
$soap->ハンドル();
クラスチェスターClass {
パブリック $name = 'チェスター';
関数 getName() {
return $this->name;
}
}
//クライアント側 clientSoap.php
試してみてください{
$client = 新しい SoapClient(null,
)
array('location' =>"http://192.168.1.179/test/serverSoap.php",'uri' => "http://127.0.0.1/")
);
echo $client->getName();
} キャッチ (SoapFault $fault){
echo "エラー: ",$fault->faultcode,", string: ",$fault->faultstring;
}
著者フォックスヒーロー