SOAP/WSDLによるWebサービスを利用する (2/4)
作成:2012-07-17 08:44
更新:2012-07-17 08:44
更新:2012-07-17 08:44
■SoapServiceについて
では、Google Apps Scriptに用意されている「Soap Service」について簡単に説明しましょう。――これは、「SoapSevice」というオブジェクトとして用意されています。ここからメソッドを呼び出してWSDLのオブジェクトを取得します。
では、SoapServiceから指定のアドレスに問い合わせを行い、結果を受け取るまでの一連の流れを以下に整理しておきましょう。
●Wsdlの取得
●WsdlServiceの取得
●SoapServiceから直接WsdlServiceを得る
●利用可能なサービス名を得る
――これで、サービスであるWsdlServiceオブジェクトが取得されました。このオブジェクトには、そのアドレスで利用可能なサービス名がメソッドとして実装されます。例えば、「abc」というサービスが用意されているとしたら、取得したWsdlSergiveを使い、「○○.abc( パラメータ);」というようにして呼び出せば、そのサービスにアクセスし、結果を得ることができるようになるのです。
では、SoapServiceから指定のアドレスに問い合わせを行い、結果を受け取るまでの一連の流れを以下に整理しておきましょう。
●Wsdlの取得
変数 = SoapSevice.wsdl( アドレス );wsdlメソッドは、WSDLによるサービスを公開しているアドレスを引数に指定して呼び出します。これにより、そのアドレスに問い合わせるための「Wsdl」オブジェクトが返されます。
●WsdlServiceの取得
変数 = 《Wsdl》.getService( サービス名 );Wsdlから、Wsdlのサービスにアクセスするための「WsdlService」オブジェクトを作成します。引数には、サービスの公開アドレスをテキストで指定します。
●SoapServiceから直接WsdlServiceを得る
変数 = SoapSevice.wsdl( アドレス , サービス名 );先の2つの文は、実は1つにまとめて行うこともできます。wsdlメソッドでは、引数にWsdlのアドレスを指定しましたが、この時、第2引数として利用するサービス名を指定すれば、そのサービスを利用すWsdlServiceオブジェクトがダイレクトに得られます。
●利用可能なサービス名を得る
変数 = 《Wsdl》.getServiceNames();指定のサイトでどんなサービスが利用可能かわからない……。というような場合には、getServiceNamesでサービス名を調べることができます。これはWsdlで利用可能なサービス名をテキスト配列として返すものです。ここで得られたサービス名を指定してWsdlServiceを取得するとよいでしょう。
――これで、サービスであるWsdlServiceオブジェクトが取得されました。このオブジェクトには、そのアドレスで利用可能なサービス名がメソッドとして実装されます。例えば、「abc」というサービスが用意されているとしたら、取得したWsdlSergiveを使い、「○○.abc( パラメータ);」というようにして呼び出せば、そのサービスにアクセスし、結果を得ることができるようになるのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「Google Apps Scriptプログラミング [中級編]」に戻る