MetSOAP |
MetSOAPとは
SOAP (Simple Object Access Protocol) はMicrosoft社やIBM社などが中心となって策定した、XML-Web Serviceにアクセスするための標準規約です。MetSOAP は SOAPベースのWeb Serviceであり、これを利用することによりソフトウエア開発者は各自の得意なプログラミング言語を用いて様々なオンライン気象データへアクセスすることができます。 このページでは MetSOAP がどのように動くのかを説明するとともに、いくつかのサンプルアプリケーションを提供します。

MetSOAPからデータを取得するには、一般的に4つのことをする必要があります(以下、pseudocodeを例にします):
- MetSOAP web serviceの情報を使って SOAP Toolkit を初期化します。
SOAPToolkit.init("http://www.agmodel.net/MetBroker/MetSOAP/MetSOAP.wsdl") - 欲しいデータを特定するための MetSOAP リクエストオブジェクトを生成します。
request = CreateObject("MetSOAP.StationMetRequest") request.sourceID = "amedas" request.stationID = "40341" request.resolution = 1 {hourly data} request.elements = [0,1,2] {air temperature, rain, and wind} request.interval = CreateObject (TimeInterval("2002/10/1","2002/10/31")) ... - リクエストを引数にリモートメソッドを呼び出し、結果を取得します。
StationDataSet result = SOAPToolkit.getStationData(request)
- 結果オブジェクトから必要なデータを取り出します。
ElementData[] elementArray = result.ElementData {This array has one element for each met element} For elementIndex = 0 To UpperBound(elementArray) DataStore[] thisElementsData = elementArray(elementIndex).Data {This array has elements for each element component eg wind speed and wind direction, or soil temperatures at 10cm, 50cm, and 1m, or daily air temperature max, min and mean} For elementDataStoresIndex = 0 To UpperBound(thisElementsData) Float[] storeContentsArray = thisElement.Data(elementDataStoresIndex).Contents {This array contains individual met readings for an element (eg max temperatures) There is one reading for each resolution step (eg each hour or each day)} For storeContentsIndex = 1 To UpperBound(storeContents) dataItem = storeContents(storeContentsIndex) End End End
APIドキュメントを含めたMetSOAPについての詳しい情報はこちらから
接続確認
ここをクリックすることにより、MetSOAP の利用が可能かどうか確認することができます。
サンプルクライアント
これらのサンプルクライアントは、一般的なプログラミング言語を用いてMetSOAPにアクセスする方法の例です。
-
Microsoft SOAP Toolkit-based
Microsoft SOAP Toolkit ベースの4つのサンプルクライアントを動かすにはMicrosoft SOAP Toolkit と MetSOAP.DLL が必要です。
- Step 1 - SOAP Toolkit と MetSOAP.DLL のインストール
-
SOAP Toolkit と MetSOAP.DLL をインストールするには、こちらの指示に従ってください。
- Excel スプレッドシート
-
このスプレッドシートは世界中のデータベースから直接気象データを取り出すことができます。 インストール方法
- VBScript
-
-
MetSoapClient.vbs を任意のディレクトリに保存し、実行します。
-
- Visual Basic 6
-
- このファイルを任意のディレクトリに解凍します。
-
そのディレクトリでMetSoapVBClient を実行します。
- ASP
-
- IIS をセットアップします。(すでにセットアップされている場合は不要)
- MetSoapClientVBS.asp を C:\inetpub\wwwroot または IISのウエブページ保存用ディレクトリに保存します。
- ウエブ・ブラウザーで http://localhost/MetSoapClientVBS.asp を開きます。
注:これら全てのクライアントは、使用するコンピューターのローカルタイムゾーンで時間を表示します。 もし他のタイムゾーンから見るならば、少々混乱するかもしれません。 -
Java
MetSOAPの利用方法を簡単に示すJavaプログラムはこちらです。こちらの圧縮ファイルを任意のディレクトリに解凍し、runclient.batを実行することにより、このアプリケーションを実行できます。
デモを動かすためにはJavaランタイムをインストールする必要があります。Javaランタイム(JRE)のダウンロードおよびインストールはこちらからできます。
(注:デモを動かすにはサイズの小さいJREバージョンをインストールすればよく、SDKフルバージョンをインストールする必要はありません。)
WSDL file
MetSOAPのサービス内容を示す鍵となるファイルはMetSOAP.wsdlです。 "wsdl" は "Web Services Definition Language" の略で、SOAPツールと人間がともに読むことができるサービス定義を含んでいます。従って、Internet Explorerや他のXMLビューワーを使ってファイルを読むことができます。 ここに記述されたサービスにアクセスするためには、各プログラミング言語の開発環境で提供されているSOAPツールが必要になります。 たとえば、enterprise version of Delphi、Microsoft SOAP Toolkit (Microsoft社から無償で手に入れられます)があります。また、Cape Science (www.capescience.com) などの会社から提供されるツールもあります。これらを用いることにより、WSDLファイルからVBクライアントやJAVAクライアントを自動的に作ることができます。
SOAPリクエストとレスポンスの例
こちらは MetSOAP が送り返すものです。MetSOAPNorwayResponse.xml
MetBroker ページに戻る
