SOAコンポジット・アプリケーションのRESTバインディング・コンポーネントを構成する方法
この項では、RESTバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加する方法について説明します。RESTバインディング・コンポーネントをサービスまたは参照バインディング・コンポーネントとして追加できます。
RESTアダプタをSOAコンポジット・アプリケーションのサービスまたは参照バインディング・コンポーネントとして構成するには:
- JDeveloperで、RESTサービスまたは参照コンポーネントをコンポジット・ビューの適切なスイムレーンに追加します。「コンポーネント」ウィンドウからRESTコンポーネントをドラッグすることもできます。
-
RESTサービス・コンポーネントを追加するには、SOAコンポジット・エディタの「公開されたサービス」スイムレーンを右クリックし、「挿入」→「REST」を選択します。この操作で、適切なサービス・コンポーネントと相互作用するサービス・バインディング・コンポーネントとしてRESTサポートを追加できます。
-
REST参照コンポーネントを追加するには、SOAコンポジット・エディタの「外部参照」スイムレーンを右クリックし、「挿入」→「REST」を選択します。この操作で、外部RESTエンドポイントと相互作用する参照バインディング・コンポーネントとしてRESTサポートを追加できます。
RESTバインディング構成ウィザードが表示されます。
-
-
RESTサービスまたは参照の名前を入力します。
タイプフィールドにRESTバインディングのタイプが表示されます。これは、RESTサービスの場合は「サービス」、REST参照の場合は「参照」です。
-
オプションで「サービスはWSDLインタフェースを使用してコンポーネントを起動します」または「参照はWSDLインタフェースを使用してコンポーネントによって起動されます」オプションを選択します。
-
RESTサービスの場合、コンポジットで内部的にXMLスキーマとWSDL操作が使用される場合は、「サービスはWSDLインタフェースを使用してコンポーネントを起動します」を選択します。
-
REST参照の場合、コンポジットで内部的にXMLスキーマとWSDL操作が使用される場合は、「参照はWSDLインタフェースを使用してコンポーネントによって起動されます」を選択します。
12.2.1から、SOAコンポジットでエンドツーエンドのJSONを使用できるようになりました。すなわち、RESTサービスはRESTリクエストを受信し、XMLに変換することなくBPELエンジンにルーティングすることができます。BPELコンポーネントはJavaScriptアクションを使用して、さらに条件付きおよび反復コンストラクトでJavaScriptを使用して、JSONオブジェクトで直接動作できます。REST参照はBPELエンジンからRESTメッセージを受信し、変換することなく外部RESTエンドポイントにルーティングできます。
デフォルトでは、新しいRESTサービス/参照バインディングはWADLを使用します。ただし、RESTリソースと動詞をWSDL操作とXMLスキーマに内部的にマッピングして、着信ペイロードをXMLに変換する12.1.3スタイルのコンポジットを使用する必要がある場合は、このオプションを選択します。コンポジットでWSDLベースの操作のみをサポートするメディエータのようなコンポーネントが使用される場合も、このチェック・ボックスを選択できます。
-
このオプションを選択すると、XMLスキーマの順序付けを強制オプションが表示されます。
「XMLSchemaの順序付けを強制」を選択すると、XMLスキーマの順序付けが強制されます。
選択すると、XMLスキーマの要素の順序付けと一致するようにJSONペイロードを並べ替えます。これには、インバウンド・リクエスト・ペイロードおよびアウトバウンド・リクエストからのレスポンスが含まれます。このオプションによって、パフォーマンスのオーバーヘッドが追加される可能性があります。
このチェック・ボックスを選択すると、RESTサービス・バインディングのプロパティ
reorderJsonAsPerXmlSchema
がcomposite.xml
ファイルでtrue
に設定されます。
-
-
「次へ」をクリックします。
「リソース」ページが表示されます。
表37-1 「リソース」ページ
フィールド 説明 構成ショートカット コンテキストに基づいて構成ショートカットを提供します。 -
RESTサービス・インタフェースの場合:
-
WADLベースのRESTサービスを作成する場合は、「WADLサービスからリソースとメソッドを追加」を選択できます。これにより、既存のWADLサービスを使用して、リソースとメソッドをRESTサービスに追加できます。
-
サービスがSDLインタフェースを使用してコンポーネントを起動する場合、「RESTコンポーネントや参照の有効化」および「REST外部Webサービスの有効化」オプションを選択できます。すなわち、選択したコンポーネントまたはサービスのフォルト・バインディングが、WSDLファイルで定義されたフォルトに基づいて自動的に生成されます。
選択したWSDLが読み取られ、WSDL操作が、「リソース」ページの「操作バインディング」セクションのリソース・パスおよびHTTP動詞にマッピングされます。操作バインディングで追加の構成マッピングが必要な場合は、「完了」列の「いいえ」の値でそのことが示されます。
-
-
REST参照インタフェースの場合:
「WADLサービスに基づいてリソースと操作のマッピングを追加」を使用して、WADLリソースからリソースと操作のマッピングを追加できます。WADLリソースは、ローカル・ファイル・システムまたはプロジェクト、デザインタイムOracle Metadata Servicesリポジトリ(MDSリポジトリ)あるいはアプリケーション・サーバーにあります。
説明
このフィールドは、RESTサービスに対して表示されます。
RESTサービスの説明を入力します。この説明は、開発時に使用される読取り可能なAPIの一部として公開されます。
ベースURI このフィールドは、REST参照に対して表示されます。
インタフェースでサポートされているすべてのリソースのベースURI接続情報。たとえば:http://search.mydomain.com/search.format
リソース・パス
デフォルト・リソース・パス(/)をダブルクリックしてリソース・パスを更新するか、「追加」をクリックして新しいリソース・パスを追加します。
「相対パス」フィールドで、リソース・パス(たとえば、/orders)を入力し、「OK」をクリックします。
操作バインディング
このセクションは、RESTリソースと動詞をWSDL操作とXMLスキーマに内部的にマッピングして、着信ペイロードをXMLに変換する12.1.3スタイルのコンポジットを作成している場合に表示されます。
「追加」をクリックして、新しい操作バインディングを追加します。
既存の操作バインディングを選択して「編集」をクリックすることもできます。
「追加」または「編集」をクリックすると、「REST操作バインディング」ダイアログが表示されます。「REST操作バインディング」ダイアログを参照してください。
メソッド このセクションは、タイプ付きでないペイロードをスキーマなしで使用するWADLベースのサービスまたは参照を作成している場合に表示されます。 「追加」をクリックして新しいメソッドを追加します。
既存のメソッドを選択して「編集」をクリックすることもできます。
「追加」または「編集」をクリックすると、「RESTメソッド定義」ダイアログが表示されます。「「RESTメソッド定義」ダイアログ」を参照してください。
-
-
「終了」をクリックして、RESTバインディング構成を完了します。