プライマリ・コンテンツに移動
Oracle® Application Express APIリファレンス
リリース5.1
E85937-02
目次へ移動
目次
索引へ移動
索引

前
次

29.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 ) 
RETURN CLOB;

パラメータ

表29-5 MAKE_REST_REQUESTファンクションのパラメータ

パラメータ 説明

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

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

次の例では、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;