※ここで説明するSoapServiceの機能は、現在、Deprecated(非推奨)となっています。利用はご自身の責任でお願いします。Webサービス(Webベースでさまざまな機能を提供するもの)を外部の様々なプログラムから自由に利用できるようにしよう!という試みは、古くからいろいろと考えだされてきました。「
SOAP(Simple Object Access Protocol)」というのも、そうしたWebサービスのための基本技術です。これは名前の通り、離れたプログラムどうしでオブジェクトをやり取りするための基本的なプロトコルなのです。
この
SOAPを利用する場合、特定のプログラミング言語に特定の関数などを用意して対応したのでは汎用性に欠けてしまいます。どんなプログラムからでも利用でき、また得られた結果などがプログラムでなく人間にとっても理解しやすい形になっていて、初めてWebサービスの利用が可能となります。こうしたプログラムとWebサービスの間でやり取りをするためのインターフェイスを記述するための仕様として、現在広く使われているのが「
WSDL(Web Services Description Language)」というインターフェイス記述言語です。
この
WSDLは、XMLベースの記述言語です。
WSDLに対応したサービスにアクセスをすると、その結果をWSDLにしたがって記述されたXMLドキュメントとして送り返されてきます。これを元に必要な情報などを取り出して利用する、というわけです。
この
WSDLは、Webサービスを開発する側がこれの使用に従って情報をやり取りするように設計する必要があります。これを一から自作するのはそれなりに大変ですが、実は世の中には「だれでも使っていいよ」と開放している
SOAPサービスというのもあるのです。そうしたものを利用することができれば、各種の機能を
SOAP経由で利用できるようになります。
SOAPのサービスは、検索すればいろいろと見つかりますが、ここでは「WebserviceX.NET」というサイトを利用してみることにしましょう。これは以下のアドレスにあります。
http://www.webservicex.net/
ここではさまざまなSOAPサービスが公開されており、WSDLによるXMLドキュメントとして問い合わせ結果を取り出し利用することができるようになっています。
Google Apps Scriptでは、こうした
SOAPのサービスを利用するための機能が用意されています。「
Soap Service」と呼ばれるもので、
SOAPの中でも「
WSDL」を利用するものについて、スクリプト内からアクセスし利用することができるようになっています。