REST リクエストのための 設定は、 [RESTful API リクエスト] ダイアログ (下のスクリーンショット) 内で定義されます。このダイアログには2つのシチュエーションからアクセスすることができます:
•データソースに接続するために REST リクエストを使用するページソースを定義する場合。
•REST リクエストの実行 アクションを介して。この場合、リクエストに対するレスポンスは、 $MT_HTTPExecute_Result 変数に保存することができます。
以下を選択することができます:(i) 自身の設定の定義、 (ii) URL のインポート、または (iii) WADL ファイルの使用。独自の設定を選択する場合、個別の設定のために独自の定義を指定することができます。URL をインポートまたは WADL ファイルを使用する場合、設定の一部は URL または WADL ファイルにより定義され、変更することはできません。
異なる設定に関しては以下に説明されています:
•$MT_HTTPExecute_Result を含むテンプレートと結果の解析
•URL
•認証
テンプレートを使用して、3つのフレームワーク内(ユーザー自身の設定、 URL、 または WADL。上のスクリーンショット参照) で設定が定義することができます。適切なラジオボタンを選択して、いつでもテンプレート間を切り替えることができます。URL または WADL テンプレートオプションが既に選択されている場合、異なる URL または WADL ファイルを使用する場合は、それぞれ [URL からインポート] または [WADL からインポート] をクリックします。URL または WADL オプションを選択することにより、 (またはそれぞれの [インポート] ボタンをクリックすることにより) 使用する URL または WADL ファイル を指定するダイアログが開かれます。
ユーザー自身の設定を定義する場合、 URL として REST サーバー にリクエストを入力します。ターゲットリソース(XML、HTML または JSON) のデータフォーマットを指定し、適切な場所にユーザー認証情報、クエリパラメーターと HTTP コンテンツとヘッダーを入力します。これらの設定に関しては下の詳細を参照してください。
URL が長く複雑な場合、 URL の使用 テンプレート内の URL をインポートすることが自身の設定の定義 テンプレートを入力するよりも奨励されます。例えば、 URL は、下のサンプル(5つのパラメーターを含む Google クエリ )で示されるように複数のパラメーターを含む場合があります :
https://www.google.at/search?q=REST+WADL&ie=utf-8&oe=utf-8&gws_rd=cr&ei=89cDVrDHMIP0Up_5vcAB
この URL をインポートする場合、 テンプレートの URL フィールドに入力しますが、パラメーターは自動的にテンプレートのパラメーターテーブルに入力されます。ターゲットリソース (XML、HTML または JSON) と リクエストメソッド (GET、PUT、 POST、 または DELETE)のデータフォーマットを選択することができます。。パラメーターの値を入力することができますが、パラメータを削除またはパラメーターの型を変更することはできません。URL を変更する場合は、 [URL からインポート] をクリックします。パラメーターに関する詳細は、下のパラメーター セクションを参照してください。
WADL ファイルは、 Web サービス 取りソース間のリレーションシップにより与えられたリソースを定義する XML ドキュメントです。リソースは resource 要素により定義されます。各リソースは以下を含みます: (i) リソースの入力を説明する param 要素 と、 (ii) リソースのリクエストとレスポンスを説明する method 要素。リクエスト 要素は、入力の示し方を指定し、特定のヘッダーに必要な型を指定します。レスポンス要素はサービスの応答とエラー情報を説明します。
WADL オプションを選択すると、使用する WADL ファイルを問うプロンプトが表示されます。[OK] をクリックした後、メソッドの選択ダイアログが表示されます (下のスクリーンショット)。このダイアログは、 WADL ファイル内で定義されたメソッドを表示します。
使用するメソッドを選択して、 [OK] をクリックします。リソースの URL は、テンプレートの URL フィールドに、リソースのために WADL ファイル 内で定義された パラメーター と HTTP コンテンツとヘッダー は、テンプレートのそれぞれのテーブルに入力されます (下のスクリーンショット参照)。テンプレート内では、パラメーターと HTTP コンテンツとヘッダーの値とを入力することができますが、パラメーター名は編集することができず、パラメーターを削除することもできません。
結果は、リクエストへの応答内で Web サービスにより返された内容です。自身の設定 とURL テンプレートでは、 MobileTogether が結果を正確に処理できるように、結果が (XML、HTML または JSON として) どのように解析されるかを指定する必要があります。WADL テンプレート内では、結果フォーマットに関する情報は、 WADL ファイル内の定義から取得され、自動的に選択されます。この結果このテンプレートではラジオボタンは無効化されています。
結果が $MT_HTTPExecute_Result 内に保管されるかを選択することができます。保管される場合は、この変数を使用して結果をデザイン内の他の場所で使用することができます。保管されている場合、デザイン内の他の場所でこの変数を介して結果を使用することができます。ページソースが最初に定義される場合、 RESTful API リクエストダイアログ内でこのオプションは表示されません。REST リクエストの実行 アクションを介してダイアログが開かれると表示されます。
自身の設定 と URL テンプレート内では、リクエストメソッド (GET, PUT, POST, または DELETE) を指定する必要があります。WADL テンプレートでは、リクエストメソッドは、[リソースのためのメソッドを選択] ダイアログでの選択により決定され (上のスクリーンショット参照) 自動的にテンプレート内で選択されます。この結果このテンプレートではラジオボタンは無効化されています。
URL フィールドは、自身の設定の定義 テンプレート内で編集することができます。このテンプレート内に、 URL を直接または XPath 式として入力することができます。[リセット] ボタンを使用して URL フィールド内のエントリを消去します。
サーバーへのアクセスで認証情報が必要な場合は、必要な情報を提供してください。認証が必要ない場合は、 [RESTful API リクエスト] ダイアログで無しを選択してください (上のスクリーンショット参照)。
認証 情報は、以下の方法で提供することができます:
•Basic: ユーザー名とパスワード (下のスクリーンショット参照)
•OAuth 1.0
•OAuth 2.0
認証 情報をセットアップするには、[RESTful API リクエスト] ダイアログ内の [認証] をクリックしてください (上のスクリーンショット参照)。これにより サーバーが必要とする認証の型を選択して、必要な認証情報を入力することのできる [認証設定] ダイアログが表示されます(下のスクリーンショット)。
OAuth は基本的に MobileTogether Designer を認証し、 URL により識別された Web サービスのリソースへのアクセスを認証します。これにより、 Web サービスは、 OAuth をサポートします。OAUTH をサポートする Web サービスの例として、 BitBucket documentation about OAuth 1.0 が挙げられます。
OAuth システム は広い意味で以下のとおり作動します:
1.Web サービスでは、 OAuth キー (または ID) と 秘密キーを作成します。これらは合わせて OAuth コンシューマーとして知られています。
2.Web サービスの OAuth エンドポイントに注意してください。これらは、 OAuth 1.0 のための3つのエンドポイント(最初のエンドポイント、 認証 エンドポイント 、および トークン エンドポイント) と OAuth 2.0 のための2つのエンドポイント(認証 エンドポイント と トークン エンドポイント)です。エンドポイントは通常すべてのコンシューマーのための定数です。
3.Web サービスにアクセスするためのアプリケーションを、5つの (OAuth 1.0) または4つの (OAuth 2.0) 認証情報を使用してセットアップします。
Web サービスからキー と 秘密キーおよび必要なエンドポイントを取得した後、 MobileTogether Designer を Web サービスへアクセスするセットアップの準備が整いました。以下の手順を行ってください:
1.認証 設定 ダイアログ (上のスクリーンショット) 内の [OAuth 1.0 のセットアップ] または [OAuth 2.0 のセットアップ] をクリックするとOAuth 設定 ダイアログ (下のスクリーンショット) が表示されます。
2.コールバックのアドレス を http://localhost:8083 に設定します。このアドレスは固定されており、現在作業中のマシンのアドレスです。
3.新しい設定の作成: 設定に名前を付けてください。これにより (設定の再利用コンボボックスオプションを使用して) 同じリソースを使用する他のソリューションで設定を再利用することができます。
4.Web サービスにより宣言されている エンドポイントを入力します。これらは通常 Web サービスのすべてのコンシューマーのためサービス上で同じです。
5.キー (または ID) と 秘密キーを入力します。
6.[認証] をクリックして完了します。
自身の設定の定義 テンプレート内で、パラメーターを自由に追加、編集、および削除することができます。URLの使用 と Use WADLファイルの使用 テンプレート内では、パラメーターの値のみ編集することができます。
パラメーターを追加または削除することはできず、また名前を編集することもできません。次のパラメータの型(またはスタイル)を追加することができます (下のスクリーンショットの 'スタイル' 列を参照してください。):
•テンプレート: テンプレート パラメーターは、ランタイム中に URL 内の値を代替するためにプレースホルダー を使用します。例えば、下のスクリーンショット内では、プレースホルダー{product}を持つ、テンプレート パラメーターが1つあります。このプレースホルダーは、 URL (下のスクリーンショット参照)内で使用されています。周りの中かっこはプレースホルダーであることを示します。URL がランタイムで使用されると、プレースホルダは URL 内の対応する箇所で代替されます。URL の対応する箇所は以下に対して解決されます: https://docs.altova.com/XMLSpy.../features。
•マトリックス: マトリックス パラメーターの場合、URL 内のプレースホルダーは、 name=value ペアと置き換えられます。下のサンプルのスクリーンショットでは、プレースホルダー {language} と {version}により URL 内に与えられた2つのマトリックスパラメーターがあります。URL 内のこれらのプレースホルダーは青色では以来とされた箇所で表示されています: https://docs.altova.com/XMLSpy;lang=en;ver=2016.../features。セミコロンセパレーター ; は代替の一部としての各パラメーターのプレフィックスです。
•マトリックス ブール値: マトリックス ブール パラメーターの値が true に設定されている場合、 パラメーターのプレースホルダーはパラメーターの名前と置き換えられます。値が false に設定されていると、パラメーターのプレースホルダーは空の文字列(つまり空)と置き換えられます。ですから、下のスクリーンショットのサンプルでは、 マトリックス ブール値のプレースホルダーはハイライトされている箇所で解決されます: https://docs.altova.com/XMLSpy;lang=en;ver=2016;sort/features。セミコロンセパレーター ; は代替の一部としての各パラメーターのプレフィックスです。
•クエリ: クエリ パラメーター はプレースホルダーを使用しません。すべてのクエリパラメーターは、クエリ文字列に集められ、この文字列は URL のパスの一部としてランタイムに追加されます。例えば、下のスクリーンショットに表示される URL は以下に対してランタイムに解決されます: https://docs.altova.com/XMLSpy;lang=en;ver=2016;sort/features?type=PDF。疑問符セパレーター ? は、クエリ文字列のプレフィックスです。追加クエリはアンパサンドセパレーター & がプレフィックスです。2つのクエリを持つクエリ文字列はいかのようになります: ?type=PDF&about=json.
パラメーター テーブルには4つの列があります。最初の3列の使用方法は上記のパラメーターの型で説明されています。テンプレート、マトリックス と マトリックス ブール値のパラメーターはプレースホルダーを使用していることに注意してください。テンプレート パラメーター プレースホルダー は、値とおきかえられていますが、 マトリックス とマトリックス ブール値のパラメーター プレースホルダーはそれぞれ名前-値ペア と名前と置き換えられています。クエリ パラメーターにはプレースホルダはなく、その名前-値ペアが URL パスの一部として追加されています。詳細列は MobileTogether Designer ユーザーのためのパラメータの詳細を含みます。
パラメーター テーブルの右上に、テーブル内のエントリを [管理] することを有効化するアイコンがあります。
•パラメーターの追加および挿入: [追加] を使用して、新しいパラメーターをテーブル内の最後のパラメーターとして追加します。[挿入] を使用して現在選択されているパラメータの上に直接パラメータを挿入します。テーブル内のパラメーターの入力順序は重要ではありません。ですが、 URL 内のプレースホルダーの順番は重要です。すべてのクエリ パラメーターは、ランタイムでの URL のパスの一部として追加されるクエリ文字列に集められます。
•パラメーターの削除: [削除] をクリックして、選択されたパラメーターを削除します。
•パラメーター値のための XPath 式: パラメーターが選択されると、 [XPath] をクリックして [XPath/XQuery 式の編集] ダイアログを開き、文字列に対して解決される式を入力します。この文字列は、パラメーターの値として入植されます。この場合、 [XPath] アイコンがパラメーターの値列内に表示されます。このアイコンをクリックすることにより XPath 式を編集することができます。
•パラメーター 値のリセット: [パラメーターのリセット] をクリックしてパラメーターの値を削除します。
•パラメーター 名前と値の編集: 対応するフィールドをクリックして編集します。
HTTP PUT および POST リクエストを使用して、送信するコンテンツを指定することができます。コンテンツをリクエストの本文内の単一アイテムとして送信 (コンテンツを本文として送信)または複数のアイテムとしてマルチパートのリクエスト内で(コンテンツをマルチパートとして送信)送信することができます。これらの2つのオプションから適切なラジオボタンを選択してください。
コンテンツエントリを右上のアイコンを使用して追加または挿入します。
コンテンツの値とコンテンツの MIME 型を入力します。コンテンツは直接入力、または、 XML ノードからアクセスすることができます。
送信されるコンテンツパートのための名前、コンテンツアクセスの型、コンテンツ自身、コンテンツの MIME 型を入力します。コンテンツの値は、実際に送信されるコンテンツです。上のスクリーンショットは、XPath 式によりコンテンツはページソースノードから取得されます。Base64 フォーマットまたはファイルとしてイメージは送信されます。
HTTP ヘッダーフィールドは、コロンにより区切られた名前-値ペアです。例えば、: Accept:text/plain。各ヘッダーにエントリを追加または挿入し、ヘッダー名と値を入力します (下のスクリーンショット参照)。