downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

サービスコンポーネントの、ウェブサービスとしての公開> <別のサービスコンポーネントのコール
[edit] Last updated: Fri, 25 May 2012

view this page in

SCA コンポーネントではないスクリプトからのサービスの指定およびコール

SCA コンポーネントは、インスタンス変数に @reference アノテーションを指定することで他のコンポーネントやサービスのプロキシを取得することができます。 しかし、コンポーネントではないスクリプトの場合はこれは不可能です。 クライアントスクリプトがコンポーネントではない場合は、静的メソッド SCA::getService() を使用して ローカルあるいはリモートサービスのプロキシを取得する必要があります。 getService() メソッドの引数には URI を指定します。 通常は、これはコンポーネントを含むローカル PHP スクリプトの場所か、 あるいは wsdl ファイルの場所となります。また、先ほどの節で説明した @binding アノテーションで指定するものと同じようになります。 つまり、相対 URI はクライアントスクリプトの場所を基準として解決し、 PHP の include_path や現在の作業ディレクトリは使用しません。

たとえば、あるスクリプトで ExchangeRate および StockQuote サービスのプロキシを取得する必要があるが、そのスクリプトがコンポーネントではない場合、 getService() メソッドを次のように使用します。

例1 getService を使用したプロキシの取得

<?php
$exchange_rate 
SCA::getService('../ExchangeRate/ExchangeRate.php');
$stock_quote   SCA::getService('../StockQuote/StockQuote.wsdl');
?>

サービスのメソッドをコールするには、返されたプロキシを使用します。 これはコンポーネント内からコールする場合と同じです。

例2 プロキシ上でのコール

<?php
$quote  
$stock_quote->getQuote($ticker);
$rate   $exchange_rate->getRate($currency);
?>



add a note add a note User Contributed Notes SCA コンポーネントではないスクリプトからのサービスの指定およびコール
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites