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;