ユーザーガイド > Webベースのデータソースの構成 > RESTデータソース > RESTデータソースの追加
 
RESTデータソースの追加
このセクションでは、RESTデータソースを追加する方法について説明します。詳細については、「データソースの追加」を参照してください。
POSTおよびマルチパート/フォームについて
マルチパート/フォームは、POST操作における複数のバイナリー型のデータ転送に対応しています。たとえば、これを使用して複数のGIFファイルを転送できます。
POSTの場合、HTTP「multipart/form-data」リクエストに対してマルチパート/フォームオプションが有効になります。
マルチパート/フォームオプションを選択した場合、本文と「IN」または「IN/OUT」を使用する各パラメーターは、リクエストの文字列部分として使用されます。
Content-typeパラメーターがHTTPヘッダーで定義されている場合、パラメーターで定義されている文字セットがリクエストのすべての部分に適用されます。デフォルトの文字セットはISO-8859-1です。
RESTデータソースを追加するには
1.Studioで、RESTデータソースを追加するフォルダーを右クリックし、[New Data Source(新しいデータソース)]を選択します。
2.データソースアダプターとして[REST]を選択し、[Next(次へ)]をクリックします。
[New Physical Data Source(新しい物理データソース)]ダイアログが表示され、RESTデータソースを定義できます。
3.[Name(名前)]にRESTデータソースの名前を入力します。
4.[Basic(基本)]タブで、RESTデータソースの次の情報を入力します。
フィールド
説明
[Base URL(ベースURL)]
RESTデータソースにアクセスするためのベースURL。次の形式です。
http://<Webサイト名>
例: http://search.twitter.com
[Login(ログイン)]
必要に応じて、RESTデータソースにアクセスするための有効なユーザー名を入力します。
[Password(パスワード)]
必要に応じて、RESTデータソースにアクセスするための有効なパスワードを入力します。
[Save Password(パスワードの保存)]
このチェックボックスは、[Pass-through Login(パススルーログイン)]が有効になっている場合にのみ有効です。
[Pass-through Login(パススルーログイン)]
[Disabled(無効)] - デフォルト設定。接続プールの自動プロビジョニングが可能になります。[Pass-through Login(パススルーログイン)]が無効になっている場合、[Save Password(パスワードの保存)]チェックボックスは使用できません。
[Enabled(有効)] - データソースへの新しい接続では、そのデータソースから初めてデータが要求されたときにクライアントによって提供された資格情報が使用されます。[Pass-through Login(パススルーログイン)]が有効になっている場合は、[Save Password(パスワードの保存)]チェックボックスが使用可能になります。
詳細については、「パススルーログインについて」を参照してください。
[Authentication(認証)]
このデータソースの認証方法(BASIC、NTLM、NEGOTIATE、OAuth、Digest)を選択します。
認証モードとして[OAuth]を選択すると、別のタブが表示されます。物理データソースが最初に追加されたときに、データソースの認証としてOAuth 2.0が指定されている必要があります。詳細については、「Webデータソースのクライアント認証」を参照してください。
[Domain(ドメイン)]
NTLM認証専用。ドメイン名を入力します。
詳細については、『TDV Administration Guide(TDV管理ガイド)』の「Configuring NTLM Authentication(NTLM認証の構成)」を参照してください。
[Service Principal Name(サービスプリンシパル名)]
KerberosによるNEGOTIATE認証専用。サービスプリンシパル名を入力します。
詳細については、『TDV Administration Guide(TDV管理ガイド)』の「Configuring Kerberos Single Sign-On(Kerberosシングルサインオンの構成)」を参照してください。
[Access Token(アクセストークン)]
OAUTH 2.0認証の場合にアクセストークンを入力します。
[JSON Format(JSON形式)]
データ交換にJSON(JavaScript Object Notation)標準を使用する場合は、このボックスをオンにします。このボックスをオンにすると、HTTPリクエスト/レスポンスの各ペアがJSON形式でエンコードおよびデコードされます。
[BadgerFish Enabled(BadgerFish対応)]
TDV外のRESTサービスがBadgerFish規則を使用してXMLをJSON形式に変換する場合、このボックスをオンにしてBadgerFishを有効にします。
[JSON Format(JSON形式)]もオンにする必要があります。
[Primitive Value Format(プリミティブ値形式)]
プリミティブ表記の値を読み取って送信するには、このボックスをオンにします。
[JSON Format(JSON形式)]もオンにする必要があります。
[Package Name(パッケージ名)]
サービス名を一意にするための各要素のプレフィックス。パッケージ名は、XML形式の名前空間と同じ役割を果たします。パッケージ名には、Javaクラス名で有効な任意の文字を使用できます。
[JSON Format(JSON形式)]もオンにする必要があります。
[Wrapper of JSON Bare Response(JSONベアレスポンスのラッパー)]
ラッパー名を入力します。JSONレスポンス全体のラッパーキーを使用できます。この値により、JSONレスポンスを適切なXML値型に変換できます。
[JSON Format(JSON形式)]もオンにする必要があります。
5.[Basic(基本)]タブの下部でREST操作を定義します。
a. [Operations(操作)]で、[Add Operation(操作の追加)]ボタンをクリックして操作を追加します。
b. [New Operation(新しい操作)]ダイアログボックスで、操作の名前を入力して[OK]をクリックします。
c. 操作ごとに、HTTP動詞を定義して操作URLを解析する必要があります。
フィールド
説明
[HTTP Verb(HTTP動詞)]
操作タイプ(GET、POST、PUT、またはDELETE)を選択します。
[Operation Name(操作名)]
[Operations(操作)]ボックスに入力および選択した操作名が自動的に入力されます。
[Operation URL(操作URL)]
REST操作のURLを次の形式で入力します。
<operation_api_name>?<query_parameters>
 
<operation_api_name> - URLによって定義されたAPIサービス操作名(例: Twitterのaddfeed.atomとsearch.atom)。Webデータソースの操作名を把握して、それらの規則に従う必要があります。
<query_parameters> - 複数のエントリーを&(アンパサンド)で区切ります。次の1つ以上を使用できます。
<constant> - 1つ以上の定数をconstant=valueの形式で定義します。
例: count=20
<{URL_parameter}> - 1つ以上のURLパラメーターを中括弧で囲んで定義します。例: tweet={mytweet}
実行時に、[Base URL(ベースURL)]と各操作に対して定義された[Operation URL(操作URL)]が組み合わされてデータリクエストが形成されます。
[Parse(解析)]
[Parse(解析)]をクリックし、[Operation URL(操作URL)]で中括弧で指定したすべてのURLパラメーターを[URL Parameters(URLパラメーター)]リストに追加します。
パーサーによって正しいと判断された構文は[URL Parameters(URLパラメーター)]リストに追加されます。たとえば、[Operation URL(操作URL)]フィールドにtweet={mytweet}と入力して[Parse(解析)]をクリックすると、[URL Parameters(URLパラメーター)]セクションの[Param Name(パラメーター名)]にmytweetが表示されます。
d. [Request/Response Style(リクエスト/レスポンススタイル)]で次のいずれかを選択します。
ラジオボタン
説明
[Bare(ベア)]
1つのパラメーターをサポートします。
[Wrapped(ラップ適用)]
名前付きラッパー内で複数のパラメーターをサポートします。
[Wrapped(ラップ適用)]の場合のみ、次のように入力します。
[Request Wrapper QName(リクエストのラッパーQName)] - ラップする入力パラメーターを含む親要素の一意の名前を指定します。
[Response Wrapper QName(レスポンスのラッパーQName)] - ラップする出力パラメーターを含む親要素の一意の名前を指定します。
[Multi-Part/Form(マルチパート/フォーム)]
POST操作における複数のバイナリー型のデータ転送をサポートします。たとえば、これを使用して複数のGIFファイルを転送できます。
e. URLパラメーターの場合、操作URLを介して渡すパラメーターとそのデータ型を編集できます。
f. [Header/Body Parameters(ヘッダー/本文パラメーター)]で、ヘッダーと本文のパラメーターおよびそれらの情報を定義します。サンプル機能による設計を使用する場合は、データソース定義を保存して、[Design By Example(サンプルによる設計)]ボタンをアクティブにする必要があります。この機能の使用方法の詳細については、「サンプルによる設計を使用したパラメーターデータ型の推測」を参照してください。
- [Add Operation(操作の追加)]をクリックしてパラメーターを追加します。[Header/Body Parameters(ヘッダー/本文パラメーター)]セクションに、名前のない新しい行が表示されます。ただし、デフォルトの場所(本文)、データ型(VARCHAR)、および入出力方向(IN)は指定されています。
- [Param Name(パラメーター名)]をダブルクリックしてパラメーターの名前を入力します。
- [Location(場所)]をクリックし、ドロップダウンリストから次のいずれかのオプションを選択します。
[HTTP Header(HTTPヘッダー)] - パラメーターはHTTPヘッダーに追加されます。
[Body(本文)] - パラメーターはXMLファイルの本文に追加されます。
- [Data Type(データ型)]をクリックし、ドロップダウンリストから次のいずれかのオプションを選択します。
オプション
説明
[Decimal(小数点)]
DECIMAL、DOUBLE、FLOAT、またはNUMERIC
[Integer(整数)]
BIGINT、BIT、INTEGER、SMALLINT、またはTINYINT
[String(文字列)]
CHAR、CLOB、LONGVARCHAR、またはVARCHAR
[Time(時間)]
DATE、TIME、またはTIMESTAMP
[Complex(複合)]
< >XML
複合XMLとは、W3C XML標準の外部で定義されたXMLです。XMLにカスタマイズされた要素がある場合、またはXML要素の意味を解釈するためにXSDファイルが必要な場合、XMLは複合と見なされます。
[Browse(参照)]
使用するデータ型を定義したXSDファイルを参照するには、このオプションを選択します。
- [In/Out(入力/出力)]をクリックし、ドロップダウンリストから入力パラメーター用に[IN]、出力パラメーター用に[OUT]を選択します。
6.データソースでクライアント認証が必要な場合は、[Advanced(詳細)]タブをクリックします。クライアント認証の構成方法については、「Webデータソースのクライアント認証」を参照してください。
7.データソースでOAuthが必要な場合は、[OAuth 2.0]タブを選択します。使用するOAuthフローに適した値を指定します。
次の表は、ユーザーが[OAuth 2.0]タブで指定する値を示しています。
フィールド
説明
[OAuth Flow(OAuthフロー)]
OAuthフローは次のとおりです。
AUTHORIZATION_CODE
IMPLICIT - [Client Secret(クライアントシークレット)]と[Access Token URI(アクセストークンURI)]は無効になります。
CLIENT_CREDENTIALS - [Resource Owner Authentication(リソース所有者認証)]のフィールドは無効になります。
RESOURCE_OWNER_PASSWORD_CREDENTIALS - [Client Authentication(クライアント認証)]のフィールドは無効になります。
CUSTOMIZED - ユーザー指定のフロー。
[Client Identification(クライアントID)]
トークンリクエストのリクエスト本文で使用されます。登録時にクライアントに発行された識別子を表す一意の文字列です。リソース所有者に公開されます。形式は、印刷可能な文字の文字列です。
[Client Secret(クライアントシークレット)]
トークンリクエストのリクエスト本文で使用されます。AUTHORIZATION_CODEおよびOAuthフローに対してのみ有効になります。形式は、印刷可能な文字の文字列です。
[Authorization URI(認可URI)]
信頼の確立と必要なクライアントプロパティの取得に使用するURI。
[Access Token URI(アクセストークンURI)]
クライアントまたはリソースサーバーへのアクセストークンおよび更新トークンの通信に使用するURIです。IMPLICIT OAuthフローの場合にのみ無効になります。
[Redirect URI(リダイレクトURI)]
クライアントの登録時または認可リクエスト時に確立される、クライアントのリダイレクトエンドポイントです。絶対URIである必要があり、フラグメントコンポーネントを含めることはできません。認可サーバーは、リソース所有者をこのエンドポイントにリダイレクトします。
[Scope(範囲)]
認可範囲。通常は、クライアントの制御下で保護されたリソース、または認可サーバーによる調整どおりに保護されたリソースに制限されます。クライアント資格情報または他の形式のクライアント認証を使用して行われる認可付与では、範囲を限定する必要があります。形式は、スペースで区切られた1つ以上の文字列です。
[State(状態)]
完全なリダイレクトURI(使用できない場合)の代わりに使用されるか、リクエストごとのカスタマイズを実現するために使用されるリクエストパラメーター。
[Expiration Time (Sec)(有効期限(秒))]
アクセストークンの有効期間。
[Use Refresh Token To Get Access Token(更新トークンを使用してアクセストークンを取得する)]
このチェックボックスをオンにすると、アクセストークンを手動で取得するのではなく、更新トークンを使用して取得できます。
[Login and Password(ログインとパスワード)]
OAuthプロトコルを開始する前に、クライアントまたはリソース所有者が認証サーバーに登録する際に使用するユーザー資格情報。
[Pass-through Login(パススルーログイン)]
[Enabled(有効)]または[Disabled(無効)]。
[Authentication(認証)]
BASIC、DIGEST、NTLM、またはNEGOTIATE - 認証サーバーへの登録に使用される、通常の認証方法。
[Domain(ドメイン)]
クライアントまたはリソース所有者が属するドメイン(複合など)。
[Service Principal Name(サービスプリンシパル名)]
クライアントまたはリソース所有者のSPN。
[Access Token Type(アクセストークンタイプ)]
[Bearer(ベアラー)] - ベアラートークンのユーザーは、暗号化キーマテリアルの所有を証明する必要はありません。リクエストにアクセストークンを含めるだけです。
[Query(クエリー)] - クエリー文字列「?access_token=<token>」がURLに追加されます。SOAPデータソースでは使用できません。
[Access Token(アクセストークン)]
特定の範囲と期間で、保護されたリソースにアクセスするために使用される資格情報。通常はクライアントに公開されません。
[Get Token(トークンの取得)]ボタン
アクセストークンの取得を開始します。このリクエストを成功させるには、適切な情報を設定する必要があります。
[Refresh Token(更新トークン)]
アクセストークンが無効または期限切れになったときにアクセストークンを取得するために使用される資格情報。リソースサーバーではなく、認可サーバーでの使用を目的としています。
[Custom Flow(カスタムフロー)]
CUSTOMIZEDのOAuthフローを使用するデータソースのカスタムフローの名前。
[Using Processors(プロセッサーの使用)]チェックボックス
および編集可能なテキストフィールド
プロセッサーを使用するには、このボックスをオンにします。編集可能なテキストフィールドには、JavaScriptとXMLを入力できます。このフィールドを使用して、自動的にログインするJavaScriptを追加したり、XMLを使用して、仕様に準拠していない認可トークンまたはアクセストークンの一部をカスタマイズしたりできます。
編集可能なテキストフィールド
[Using Processors(プロセッサーの使用)]チェックボックスの下にある編集可能なテキストフィールドを使用して、認可トークンとアクセストークンを確立するために必要なXML要素を入力できます。例:
<Authorization> <AuthorizationProcessors>
<AuthorizationProcessor> document.getElementById('email').value='queenbeeza@gmail.com'; document.getElementById('pass').value='jellypassword'; document.getElementById('loginbutton').click(); </AuthorizationProcessor> </AuthorizationProcessors> </Authorization>
<AccessToken> <RequestMsgStyle>QUERY</RequestMsgStyle> <ResponseMsgStyle>FORM</ResponseMsgStyle>
<ExpireTime>1000</ExpireTime> </AccessToken>
[Sensitive Keyword in JavaScript(JavaScriptの機密キーワード)]
プラス記号アイコンを1回以上クリックしてタグとキーワードのペアを追加し、カスタム認可フロー用に指定されたJavaScriptを置き換えます。サーバーに送信される値は暗号化され、JavaScriptでタグが検出されると復号化された値に置き換えられます。
これらのペアは、ユーザー名、電子メールID、パスワード、およびその他の機密情報に使用されます。
[Tag(タグ)] - JavaScriptで検索するタグの名前。
[Keyword(キーワード)] - JavaScriptで復号化してタグと置き換える暗号化された値。
 
8.[Create & Close(作成して閉じる)]をクリックし、RESTデータソースを保存します。
StudioのリソースツリーにRESTデータソースが追加されて[Data Source Introspection(データソースのイントロスペクト)]ウィンドウが開き、新しいRESTリソースをイントロスペクトできます。