RESTコンポーネント
GETやPOSTなどのHTTPメソッドを指定してHTTPサーバーとの通信を行うには、RESTコンポーネントを利用します。テストを実行して、プロパティ値やパラメーターの動作を確認できます。レスポンスがJSONの場合には、自動的にXMLに変換して出力できます。
RESTコンポーネンを配置しテストを実行する
1.「インターネット」タブからRESTコンポーネ ント(「RESTリクエストの実行」)を配置する
HINT
RESTコンポーネントの「コネクションを使用」プロパティで「はい」を選択する場合は、「コネクション名」プロパティで接続先のHTTPサーバーを指定します。その場合は事前にHTTPコネクションを作成しておく必要があります。
2.RESTコンポーネントを選択し、インスペクタの「コネクションを使用」プロパティで「いいえ」を選択する
HINT
HTTPメソッドを選択するには
RESTコンポーネントの「HTTPメソッド」プロパティで、リクエストに使用するHTTPのメソッドを指定します。GET、POST、PUT、DELETE以外のメソッドは、 直接入力して指定します。
HTTPGet・HTTPPostコンポーネントとの違い
RESTコンポーネントは、HTTPのGETメソッドを使用するHTTPGetコンポーネント、POSTメソッドを使用するHTTPPostコンポーネントの機能をすべて含んでおり、代替させることができます。それらのコンポーネントとの相違点は以下のとおりです。
- HTTPメソッドを選択でき、PUTとDELETEのリクエストを発行できる
- URLパラメーターをプロパティで指定可能
- レスポンスがJSONの場合にXMLに変換して出力できる
- テストを実行できる
3.「コネクション情報」の「URL」プロパティに、接続先のURLを指定する
HINT
ここでは、livedoorが提供する「お天気Webサービス (LWWS)」(http://weather.livedoor.com/weather_ hacks/webservice)を利用する例で説明しています。接続先URLには「http://weather.livedoor.com/forecast/webservice/json/v1」を指定し、cityパラメーターに「130010」(東京)を指定します。なお、接続先URLは、cityパラメーターを含めた形で「http://weather.livedoor. com/forecast/webservice/json/v1?city=130010」のように指定することもできます。
4.「URLパラメーター」タブをクリックし、データ取得用のパラメーターを設定する
5.RESTコンポーネントアイコンをダブルクリックする
6.「RESTのテスト」ダイアログが表示されるので、「テスト実行」をクリックしてテストを実行する
テストを実行すると、「Response」タブにテスト結果が表示されます。
HINT
RESTコンポーネントアイコンを右クリックし、メニュー から「テストの実行」を選択して「RESTのテスト」ダイアログを表示することもできます。
テスト結果からXMLフィールド定義を読み込む
1.RESTコンポーネントでテストを実行し、結果を確認する
2.RESTコンポーネントのフィールド定義を自動的に行うために、「XMLフィールド定義のインポート」をクリックする
HINT
「RESTのテスト」ダイアログでの変更を反映させるには
「RESTのテスト」ダイアログの右側の各タブには、 RESTコンポーネントで設定されたプロパティ値が表示されています。ここでプロパティ値の変更を行ってから、 「テスト実行」をクリックしてテストを実行することもできます。ただし、変更した値をプロパティに反映させるには「RESTのテスト」ダイアログの「プロパティのインポート」をクリックする必要があります。
3.「閉じる」をクリックして「RESTのテスト」ダイアログを閉じる
RESTコンポーネントには、レスポンスのJSONをXMLに変換して出力する機能があるため、RESTコンポーネントの出力フィールド定義を自動的に設定できます。
CAUTION
「RESTのテスト」ダイアログでプロパティを変更した場合、「プロパティのインポート」をクリックしてインポー トしない限り、コンポーネントには反映されません。
データのマッピングを設定する
1.取得したデータを出力するためのMapperコンポーネント、終了コンポーネントなどを配置し接続する
2.Mapperコンポーネントのフィールド定義を設定する
HINT
Webサービス(SOAP)を利用するには
パレットの「Webサービス」タブに用意されているWebServiceコンポーネントおよびWebService2コンポーネントは、WSDLファイルを読み込んでSOAPメソッドを実行します。WebService2コンポーネントは、 SOAP1.1/1.2 に対応していますが、RPCスタイルには対応していません。
アイコン | コンポーネント名 | メニュー名 |
WebService | Webサービスを呼び出します | |
WebService2 | Webサービスを呼び出します |
3.必要に応じ、フロー変数などを定義する
4.マッピングウィンドウでマッピングを設定する
ここでは解説していませんが、Mapperコンポーネントに続けてVelocityコンポーネントでHTMLへデータの差し込みを行ったりすることで、出力データを活用できます(次項の「HTMLにデータを差し込むには」の手順を参照)。
HINT
XMLでは、そのツリー構造により、要素が繰り返す場合と繰り返さない場合の両方があります。上の例では、繰り返し要素(forecasts要素)内のデータを、出力ストリームであるCSVの各項目へマッピングし、繰り返しのない要素(publicTime要素、providerのname要素など) のデータを、フロー変数へマッピングしています。