15.14 EXECUTE_WEB_SOURCEプロシージャ
このプロシージャは、モジュール名、操作およびURLパターン(必要な場合)に基づいて、Webソース操作を実行します。t_parameters
配列を使用して、宣言したWebソース・パラメータの値を渡します。Webソースの呼出しは、共有コンポーネントに定義されたメタデータに基づいて行われます。
構文
procedure execute_web_source (
p_module_static_id in varchar2,
p_operation in varchar2,
p_url_pattern in varchar2 default null,
p_parameters in out t_parameters );
パラメータ
表15-12 EXECUTE_WEB_SOURCEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
Webソース・モジュールの静的IDです。 |
|
操作の名前(たとえば、POST、GET、DELETE)。 |
|
同じ名前の操作が複数存在する場合は、共有コンポーネントに定義されているようにURLパターンを指定して、Webソース操作を識別します。 |
|
外部Webソースに渡すパラメータ値。 通常、Webソース・モジュールに渡されるHTTPヘッダー、URLパターンおよびその他のパラメータは文字列です。 |
戻り値 | 該当なし |
|
Webソース・モジュールから受け取った |
例
この例では、ORDSおよびAuto-REST機能(ORDS.ENABLE_OBJECT
)を使用して、RESTサービスがEMP表に作成されていることを前提としています。このRESTサービスのWebソース・モジュールは、共有コンポーネントにORDS EMPとして作成されています。
POST操作には、次のリクエスト本文テンプレートが定義されています。{"empno
": "#EMPNO#
"、"ename
": "#ENAME#
"、"job
": "#JOB#
"、"sal
": #SAL#
}
パラメータは次のように定義されています。
名前 | 方向 | タイプ |
---|---|---|
|
IN |
リクエスト・ボディ |
|
IN |
リクエスト・ボディ |
|
IN |
リクエスト・ボディ |
|
IN |
リクエスト・ボディ |
|
OUT |
リクエスト・ボディ |
|
IN |
HTTPヘッダー |
Webソース操作を呼び出すPL/SQLコードは次のようになります。
declare
l_params apex_exec.t_parameters;
begin
apex_exec.add_parameter( l_params, 'ENAME', :P2_ENAME );
apex_exec.add_parameter( l_params, 'EMPNO', :P2_EMPNO );
apex_exec.add_parameter( l_params, 'SAL', :P2_SAL );
apex_exec.add_parameter( l_params, 'JOB', :P2_JOB );
apex_exec.execute_web_source(
p_module_static_id => 'ORDS_EMP',
p_operation => 'POST',
p_parameters => l_params );
:P2_RESPONSE := apex_exec.get_parameter_clob(l_params,'RESPONSE');
end;
親トピック: APEX_EXEC