クライアント通信APIを利用すると、Webブラウザ上のJavaScriptからWebサービスを呼び出すことができます。
マッシュアップフレームワークでは、マッシュアッププロキシを経由して、Webサービスにアクセスします。クライアント通信APIは、ブラウザとマッシュアッププロキシ間の非同期通信を行うJavaScript API(MuRequest.send)を提供します。このAPIを使用することにより、クロスドメイン制約に影響されることなく、指定したWebサービスに任意のデータを送信し、結果を非同期で受信することができます。
以下に、MuRequest.send関数について説明します。
MuRequest.send関数の記述形式
以下に、MuRequest.send関数の記述形式を示します。
MuRequest.send (dataObj, requestParams, option);
dataObj
アダプタがWebサービスに送信するクエリ文字列を表すオブジェクトです。
string、number、boolean型のプロパティを持ちます。
クエリ文字列を送信しない場合は、nullを指定します。
以下の形式のオブジェクトを指定します。この形式以外のオブジェクトは、クエリ文字列として送信されません。
{key1:<string>, key2:<string>}
requestParams
アクセスするサービスを一意に決定するためのID(以降、サービスIDと呼びます)や、マッシュアッププロキシの動作を制御するための値を格納したリクエストパラメタオブジェクトです。
リクエストパラメタが不要な場合は、nullを指定します。
以下に、リクエストパラメタオブジェクトのプロパティを示します。
プロパティ名 | 概要 | 型 | 省略可否 |
---|---|---|---|
serviceId | サービスID | string | 不可 |
type | マッシュアッププロキシからのレスポンス形式
大文字/小文字の区別はなく、省略値は、jsonです。 | string | 可 |
option
MuRequestの動作を制御するための値を格納した通信設定オブジェクトです。
optionにnullが指定された場合、または省略された場合は、通信せずにエラーが発生します。
以下に、通信設定オブジェクトのプロパティを示します。
プロパティ名 | 概要 | 型 | 省略可否 |
---|---|---|---|
url | 通信先のURL | string | 不可 |
callback | レスポンスハンドラ(正常終了時のコールバック) | function | 不可 |
errorHandler | エラーハンドラ(エラー発生時のコールバック) | function | 可 |
timeout | タイムアウト時間(ミリ秒) | number | 可 |
preInvoke | メソッド呼出し直前に呼ばれるコールバック | function | 可 |
postInvoke | メソッド呼出し完了直後に呼ばれるコールバック | function | 可 |
MuRequest.send関数の記述例
以下に、Webサービスにアクセスし、結果を表示する場合の、MuRequest.send関数の記述例を示します。
function clickExecuteButton(){ dataObj={key1:'value1',key2:'value2'}; var requestParams = { serviceId:'serviceA',//サービスIDを指定 type:'json'//レスポンス形式を指定 }; var option = { url:'muf/proxy', callback:function(data){/* ここに処理を記述 */}, errorHandler:function(err){/* ここに失敗時の処理を記述 */} }; MuRequest.send(dataObj,requestParams,option); }
MuRequest.send関数が通知する例外
MuRequest.send関数が通知する例外については、“K.2.2 通信フレームワーク(JavaScript)に関するメッセージ”を参照してください。