60.18 MAKE_REST_REQUEST_Bファンクション

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

構文

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;

パラメータ

パラメータ 説明
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資格証明の名前。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_string.string_to_table('appid:format'),
        p_parm_value => apex_string.string_to_table('xyz:xml'));

END;