37.11 MAKE_REST_REQUEST_Bファンクション

このファンクションを使用して、名前/値ペア、キャラクタベースのペイロード、バイナリ・ペイロードのいずれかを指定し、レスポンスをBLOBで戻す、RESTful形式のWebサービスを起動します。

構文

APEX_WEB_SERVICE.MAKE_REST_REQUEST_B(
    p_url                  IN VARCHAR2,
    p_http_method          IN VARCHAR2,
    p_username             IN VARCHAR2 default null,
    p_password             IN VARCHAR2 default null,
    p_scheme               IN VARCHAR2 default 'Basic',
    p_proxy_override       IN VARCHAR2 default null,
    p_transfer_timeout     IN NUMBER   default 180,
    p_body                 IN CLOB     default empty_clob(),
    p_body_blob            IN BLOB     default empty_blob(),
    p_parm_name            IN apex_application_global.VC_ARR2 default empty_vc_arr,
    p_parm_value           IN apex_application_global.VC_ARR2 default empty_vc_arr,
    p_wallet_path          IN VARCHAR2 default null,
    p_wallet_pwd           IN VARCHAR2 default null, 
    p_https_host           IN VARCHAR2 default null, 
    p_credential_static_id IN VARCHAR2 default null,
    p_token_url            IN VARCHAR2 default null ) 
RETURN BLOB;

パラメータ

表37-6 MAKE_REST_REQUEST_Bファンクションのパラメータ

パラメータ 説明

p_url

WebサービスのURLエンドポイント。

p_http_method

使用するHTTPメソッド(PUT、POST、GET、HEADまたはDELETE)。

p_username

このサービスに基本認証が必要な場合はユーザー名。

p_password

このサービスに基本認証が必要な場合はパスワード。

p_scheme

ご使用のデータベース・リリースでサポートされている場合、認証スキームのBasic (デフォルト)、AWS、Digest、またはOAUTH_CLIENT_CREDのいずれか。

p_proxy_override

リクエストに使用するプロキシ。指定したプロキシは、アプリケーション属性で定義したプロキシより優先されます。

p_transfer_timeout

レスポンスを待機する時間(秒単位)。

p_body

CLOBとして送信するHTTPペイロード。

p_body_blob

バイナリBLOBとして送信するHTTPペイロード。ファイルのポストなど。

p_parm_name

名前/値ペアで使用するパラメータの名前。

p_parm_value

名前/値ペアで使用するパラメータの値。

p_wallet_path

URLエンドポイントがHTTPSの場合はウォレットへのファイル・システム・パス。file:/usr/home/oracle/WALLETSなど。指定されたウォレットのパスは、インスタンス設定で定義したウォレットより優先されます。

p_wallet_pwd

ウォレットにアクセスするためのパスワード。

p_https_host

HTTPS要求に対してリモート・サーバーの証明書の共通名(CN)と照合するホスト名。

p_credential_static_id

使用するWeb資格証明の名前(共有コンポーネントに構成)。

p_token_url

トークンベースの認証フロー(OAuth2など): トークンの取得元のURL。

次の例では、make_rest_requestファンクションを使用して、パラメータを名前/値ペアとしてサービスに渡すRESTful形式のWebサービスをコールします。サービスからのレスポンスはローカルで宣言されたBLOBで格納されます。

declare
    l_blob 	BLOB;
BEGIN
 
    l_blob := apex_web_service.make_rest_request_b(
        p_url => 'http://us.music.yahooapis.com/ video/v1/list/published/popular',
        p_http_method => 'GET',
        p_parm_name => apex_util.string_to_table('appid:format'),
        p_parm_value => apex_util.string_to_table('xyz:xml'));
 
END;