19.16 EXECUTE_WEB_SOURCEプロシージャ(非推奨)
ノート:
このプロシージャは非推奨であり、将来のリリースで削除される予定です。かわりにexecute_rest_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 );パラメータ
表19-14 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ヘッダー | application/json | 
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