動的RESTエンドポイントのサポート
「RESTアダプタ」を使用すると、(起動)発信エンドポイントの構成を動的に変更できます。 この機能は、次のシナリオで役立ちます:
-
RESTエンドポイントは動的に起動される必要がありますが、エンドポイントは設計時に認識されません。
-
複数のRESTサービスを起動する必要があります。これらのサービスはすべて同じ入力ペイロードを受け入れ、同じエンドポイントに対して構成されたレスポンス・ペイロードを返します。 そのような場合、この機能により、これらの各RESTエンドポイントを起動するための複数の接続を作成する必要がなくなります。
実行時にエンドポイント構成を変更するには、ConnectivityPropertiesの1つ以上の様々なプロパティにマッピングを指定する必要があります。
たとえば、以下のステップでは、実行時に決定されたRESTエンドポイントを起動するように統合を構成する方法を説明します:
-
「RESTアダプタ」を起動接続として作成し、構成します。
-
マッパーのターゲット・ペインで、ConnectivityPropertiesの下のRestApiを展開します。 これらの要素は、ユーザー提供のスキーマに追加された静的スキーマによって自動的に使用可能になります。
-
ソース・ペインでソース・スキーマを使用して、ターゲット・ペインにAbsoluteEndpointUriへのマッピングを作成します。 あるいは、静的マッピングを提供することもできます。 「RESTアダプタ」は、このマッピングによって提供されるランタイム値を使用して、このリクエストをルーティングするRESTエンドポイントを決定します。
-
同じように、ConnectivityPropertiesの下の他のターゲット・ノードにソース・マッピングを提供できます。 「RESTアダプタ」は、これらのマッピングによって提供されるランタイム値を使用して、リクエストを動的に構成します。
-
統合をアクティブ化して起動します。 「RESTアダプタ」は、実行時に決定されたエンドポイントURIを起動するようになりました。
-
簡単な説明のためにマッパーのこれらのプロパティの上にマウス・ポインタを置いてください。 これらの説明も以下に記載されています:
-
AbsoluteEndpointUri: RESTアダプタが起動する絶対エンドポイントURLを表します。 空の値は無視されます。 実行時に決定されたエンドポイントURLにリクエストをルーティングするには、この要素のマッピングを指定します。 AbsoluteEndpointUriは、ConnectivityPropertiesにある他のURL関連プロパティの中で最初に優先されます。
-
BaseUri: 接続構成中に指定したベースURLと同等です。 ベースURIのみを置き換え、残りのURLを同じにするには、この要素のマッピングを指定します。 AbsoluteEndpointUriが実行時の値を持つ場合、マッピングは無視されます。
-
RelativeUri: BaseUriと?の間のエンドポイントURIの部分を形成します。 BaseUriに空のランタイム値がある場合、またはAbsoluteEndpointUriにランタイム値がある場合、このマッピングは影響を与えません。 ランタイム値は、/で始まる必要があります。
-
URI: このノードの下のさまざまな要素を使用して、特定の部分をエンドポイントURLのランタイム値で置き換えます。
-
スキーム: エンドポイントURLのスキームのみを変更する場合は、マッピングを提供します。 サポートされている値は、HTTPおよびHTTPSのみです。
-
ホスト: エンドポイントURLのホストのみを変更する場合は、マッピングを提供します。
-
ポート: エンドポイントURLのポートのみを変更する場合は、マッピングを提供します。
-
問合せ: エンドポイントURLの問合せ部分のみを変更する場合は、マッピングを提供します。 問合せ部分は、?の後に続きます。
-
パス: エンドポイントURLのパス部分のみを変更する場合は、マッピングを提供します。 パスは、ホスト名と?の間のURIの一部です。
-
-
プラグイン: このノードのさまざまなプロパティは、RESTアダプタがエンドポイントURLを起動する方法に影響します。
-
PostQueryString: 実行時の値がtrueで、HTTP動詞がPOSTの場合、問合せ文字列パラメータはフォーム・パラメータとしてPOSTで送信されます。 デフォルト値は「false」です。
-
UseFormUrlEncoding: ランタイム値がfalseの場合、RESTアダプタはRFC-3986準拠のエンコーディングを使用して問合せパラメータをエンコードします。 デフォルト値はtrueです(カスタム・ヘッダーx-ics-use-x-www-form-urlencodedをfalseに設定することと同等です)。 x-ics-use-x-www-form-urlencodedの詳細は、「RFC 3986 Support for Encoding Query Parameters」を参照してください。 x-ics-use-x-www-form-urlencodedカスタム・ヘッダーは、両方のプロパティが設定されている場合に優先されます。
- EnforceEmptyJSONObjectPayload: trueに設定すると、本文ペイロードが空のJSONオブジェクトに設定されます。 デフォルト値は「false」です。
-
-
-
リクエストとレスポンスのスキーマは、アダプタのエンドポイント構成ウィザードでの構成時に指定したものと同じでなければなりません。
-
テンプレート・パラメータはこれらのプロパティのマッピング中はサポートされていません。
-
エンドポイントURLのHTTP動詞を変更することはできません。 たとえば、POSTを使用するようにエンドポイントが構成されている場合、実行時にエンドポイントURIが変更されても、発信リクエストはPOSTになります。
-
実行時にエンドポイントURLが決定されるため、接続構成中に提供されたセキュリティ資格証明も新しいエンドポイントURLで機能するかどうかをテストする機能はありません。 実行時に決定されたエンドポイントURLに元のURLと異なる承認ヘッダーが必要な場合は、承認標準ヘッダーのマッピングを提供する必要があります。