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;
親トピック: APEX_WEB_SERVICE