37.10 MAKE_REST_REQUESTファンクション
このファンクションを使用して、名前/値ペア、キャラクタベースのペーロード、バイナリ・ペイロードのいずれかを指定し、レスポンスをCLOBで戻して、RESTful形式のWebサービスを起動します。
構文
APEX_WEB_SERVICE.MAKE_REST_REQUEST(
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 CLOB;
パラメータ
表37-5 MAKE_REST_REQUESTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
WebサービスのURLエンドポイント。 |
|
使用するHTTPメソッド(PUT、POST、GET、HEADまたはDELETE)。 |
|
このサービスに基本認証が必要な場合はユーザー名。 |
|
このサービスに基本認証が必要な場合はパスワード。 |
|
ご使用のデータベース・リリースでサポートされている場合、認証スキームのBasic (デフォルト)、AWS、Digest、または |
|
リクエストに使用するプロキシ。指定したプロキシは、アプリケーション属性で定義したプロキシより優先されます。 |
|
レスポンスを待機する時間(秒単位)。 |
|
CLOBとして送信するHTTPペイロード。 |
|
バイナリBLOBとして送信するHTTPペイロード。ファイルのポストなど。 |
|
名前/値ペアで使用するパラメータの名前。 |
|
名前/値ペアで使用するパラメータの値。 |
|
URLエンドポイントがHTTPSの場合はウォレットへのファイル・システム・パス。file:/usr/home/oracle/WALLETSなど。指定されたウォレットのパスは、インスタンス設定で定義したウォレットより優先されます。 |
|
ウォレットにアクセスするためのパスワード。 |
|
HTTPS要求に対してリモート・サーバーの証明書の共通名(CN)と照合するホスト名。 |
|
使用するWeb資格証明の名前(共有コンポーネントに構成)。 |
|
トークンベースの認証フロー(OAuth2など): トークンの取得元のURL。 |
例
次の例では、make_rest_request
ファンクションを使用して、パラメータを名前/値ペアとしてサービスに渡すRESTful形式のWebサービスをコールします。サービスからのレスポンスはローカルで宣言されたCLOBで格納されます。
declare
l_clob CLOB;
BEGIN
l_clob := apex_web_service.make_rest_request(
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;
親トピック: APEX_WEB_SERVICE