RESTバインディングのマルチパート・フォーム・データのサポート
REST操作を定義するときに、「ペイロード」セクションでリクエスト・ペイロードの形式を指定できます。形式は、「XML」(デフォルトの選択)、「JSON」、「URL-エンコード」、「テキスト」、「不透明」または「ペイロードなし」にできます。「その他」オプションを選択して、カスタム・ペイロード・タイプを定義できます。「サンプル・ペイロードの生成」をクリックして、選択したリクエスト・ペイロードのサンプルを表示します。
SOAコンポジット・アプリケーションのRESTバインディング・コンポーネントを構成するには、「SOAコンポジット・アプリケーションのRESTバインディング・コンポーネントを構成する方法」を参照してください。
14.1.2.0.0リリースでは、RESTバインディングはマルチパート・フォーム・データ形式をサポートしています。「その他」オプションを選択して、マルチパート・フォーム・データを含むRESTバインディングを構成し、multipart/formdataを指定します。
図rest_method_definition.pngの説明
マルチパート・フォーム・データのサポートにより、Oracle Databaseとの間でファイルの受信とアップロードが可能になります。
インバウンド(アップロード)リクエストとアウトバウンド(ファイル読取り)リクエストの両方を処理し、マルチパート・フォーム・データをサポートするREST APIをコールできます。
インバウンド・リクエスト
APIエンドポイントにPOSTリクエストを送信するとき、リクエスト・ペイロードで「multipart/form-data」コンテンツ・タイプを選択し、リクエストの一部としてファイルをアップロードできます。RESTバインディングによって、コンテンツ・タイプと入力ファイルが検証され、ファイルがOracle Databaseに保存されます。
BPELプロセスは、レスポンスでOracle Databaseからのファイル参照を受信します。インスタンスの監査証跡およびプロセス・フローを表示するには、「フロー・トレースでの監査証跡およびプロセス・フローの表示」を参照してください。
次のコード・サンプルは、ファイル参照およびファイル名を含むサンプル・レスポンスを示しています。
<?xml version="1.0" encoding="UTF-8"?><Variable1>
<json>
{
"files": [
{
"ref": "f72338fe-eb13-11ed-b349-53b017953438",
"key": "demofile2"
},
{
"ref": "f72582ef-eb13-11ed-b349-53b017953438",
"key": "demofile1"
}
]
}</json>
</Variable1>
アウトバウンド・リクエスト
ファイル参照およびファイル名を含むPOSTリクエストを送信すると、ファイルがOracle Databaseからフェッチされ、システムはターゲット・サービスに入力ストリームを提供します。
サンプルJSONリクエスト
{
"files": [
{
"ref": "6fd90879-eb0d-11ed-b349-53b017953438",
"key": "ddemofile21"
},
{
"ref": "6fd89349-eb0d-11ed-b349-53b017953438",
"key": "demofile11"
}
]
}
サンプルJSONレスポンス
<?xml version="1.0" encoding="UTF-8"?><Variable1>
<json>
{
"files": [
{
"ref": "61052bb5-eb16-11ed-b349-53b017953438",
"key": "demofile21"
},
{
"ref": "61072786-eb16-11ed-b349-53b017953438",
"key": "demofile11"
}
]
}</json>
</Variable1>