プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 29.4 CookiesおよびHTTPヘッダーの取得

Application Expressでサポートされているいずれかのメソッドを使用してWebサービスを起動すると、WebサービスのレスポンスにCookiesまたはHTTPヘッダーが含まれていた場合、`g_response_cookies`および`g_headers`グローバルが移入されます。これらのグローバルは問合せが可能で、コレクションに情報を格納できます。次に、`APEX_WEB_SERVICE`グローバルを問い合せてCookieおよびHTTPヘッダーのレスポンスをコレクションに格納する例を示します。

    declare
      i number;
      secure varchar2(1);
    begin
      apex_collection.create_or_truncate_collection('P31_RESP_COOKIES');
      for i in 1.. apex_web_service.g_response_cookies.count loop
        IF (apex_web_service.g_response_cookies(i).secure) THEN
          secure := 'Y';
        ELSE
          secure := 'N';
        END IF;
        apex_collection.add_member(p_collection_name => 'P31_RESP_COOKIES',
          p_c001 => apex_web_service.g_response_cookies(i).name,
          p_c002 => apex_web_service.g_response_cookies(i).value,
          p_c003 => apex_web_service.g_response_cookies(i).domain,
          p_c004 => apex_web_service.g_response_cookies(i).expire,
          p_c005 => apex_web_service.g_response_cookies(i).path,
          p_c006 => secure,
          p_c007 => apex_web_service.g_response_cookies(i).version );
      end loop;
    end;

    declare
      i number;
    begin
    apex_collection.create_or_truncate_collection('P31_RESP_HEADERS');

    for i in 1.. apex_web_service.g_headers.count loop
      apex_collection.add_member(p_collection_name => 'P31_RESP_HEADERS',
        p_c001 => apex_web_service.g_headers(i).name,
        p_c002 => apex_web_service.g_headers(i).value,
        p_c003 => apex_web_service.g_status_code);
    end loop;
    end;