HTTPサービスを利用するには

RESTコンポーネント

GETやPOSTなどのHTTPメソッドを指定してHTTPサーバーとの通信を行うには、RESTコンポーネントを利用します。テストを実行して、プロパティ値やパラメーターの動作を確認できます。レスポンスがJSONの場合には、自動的にXMLに変換して出力できます。

RESTコンポーネンを配置しテストを実行する

1.「インターネット」タブからRESTコンポーネ ント(「RESTリクエストの実行」)を配置する

9-1-01.PNG

HINT
RESTコンポーネントの「コネクションを使用」プロパティで「はい」を選択する場合は、「コネクション名」プロパティで接続先のHTTPサーバーを指定します。その場合は事前にHTTPコネクションを作成しておく必要があります。

2.RESTコンポーネントを選択し、インスペクタの「コネクションを使用」プロパティで「いいえ」を選択する

9-1-02.PNG

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を指定する
9-1-03.PNG

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パラメーター」タブをクリックし、データ取得用のパラメーターを設定する

9-1-05.PNG

 

5.RESTコンポーネントアイコンをダブルクリックする

9-1-07.PNG

 

6.「RESTのテスト」ダイアログが表示されるので、「テスト実行」をクリックしてテストを実行する

9-1-08.PNG

テストを実行すると、「Response」タブにテスト結果が表示されます。

HINT
RESTコンポーネントアイコンを右クリックし、メニュー から「テストの実行」を選択して「RESTのテスト」ダイアログを表示することもできます。

 

テスト結果からXMLフィールド定義を読み込む

1.RESTコンポーネントでテストを実行し、結果を確認する

9-1-09.PNG

 

2.RESTコンポーネントのフィールド定義を自動的に行うために、「XMLフィールド定義のインポート」をクリックする

9-1-10.PNG

HINT
「RESTのテスト」ダイアログでの変更を反映させるには
「RESTのテスト」ダイアログの右側の各タブには、 RESTコンポーネントで設定されたプロパティ値が表示されています。ここでプロパティ値の変更を行ってから、 「テスト実行」をクリックしてテストを実行することもできます。ただし、変更した値をプロパティに反映させるには「RESTのテスト」ダイアログの「プロパティのインポート」をクリックする必要があります。

 

3.「閉じる」をクリックして「RESTのテスト」ダイアログを閉じる

9-1-11.PNG

 

RESTコンポーネントには、レスポンスのJSONをXMLに変換して出力する機能があるため、RESTコンポーネントの出力フィールド定義を自動的に設定できます。

9-1-13.PNG

 

CAUTION
「RESTのテスト」ダイアログでプロパティを変更した場合、「プロパティのインポート」をクリックしてインポー トしない限り、コンポーネントには反映されません。

 

データのマッピングを設定する

1.取得したデータを出力するためのMapperコンポーネント、終了コンポーネントなどを配置し接続する

9-1-14.PNG

 

2.Mapperコンポーネントのフィールド定義を設定する

9-1-15.PNG

HINT
Webサービス(SOAP)を利用するには
パレットの「Webサービス」タブに用意されているWebServiceコンポーネントおよびWebService2コンポーネントは、WSDLファイルを読み込んでSOAPメソッドを実行します。WebService2コンポーネントは、 SOAP1.1/1.2 に対応していますが、RPCスタイルには対応していません。

アイコン コンポーネント名 メニュー名
WebService Webサービスを呼び出します
WebService2 Webサービスを呼び出します

 

3.必要に応じ、フロー変数などを定義する

9-1-16.PNG

 

4.マッピングウィンドウでマッピングを設定する

9-1-17.PNG

ここでは解説していませんが、Mapperコンポーネントに続けてVelocityコンポーネントでHTMLへデータの差し込みを行ったりすることで、出力データを活用できます(次項の「HTMLにデータを差し込むには」の手順を参照)。

HINT
XMLでは、そのツリー構造により、要素が繰り返す場合と繰り返さない場合の両方があります。上の例では、繰り返し要素(forecasts要素)内のデータを、出力ストリームであるCSVの各項目へマッピングし、繰り返しのない要素(publicTime要素、providerのname要素など) のデータを、フロー変数へマッピングしています。

 

この記事は役に立ちましたか?
4人中0人がこの記事が役に立ったと言っています

他のキーワードで検索する