2017-08-16 5 views
1

私の "apex_web_service.make_rest_request"リクエストヘッダーを取得する必要があります。PL/SQLでのApex Webサービス応答からの応答ヘッダーの取得

私はここに記載されているようには、「UTL_HTTP」パッケージに可能であったことを知っている:https://docs.oracle.com/database/121/ARPLS/u_http.htm#BHAHDHHB

しかし、私は「apex_web_service」でこれを行うことができますか?このドキュメントで見つけられないので、それは可能ですか? http://docs.oracle.com/database/121/AEAPI/apex_web_service.htm#AEAPI537

ご回答ありがとうございます!

答えて

1

私は今すぐ見つけました。答えはここにあります:http://docs.oracle.com/database/121/AEAPI/apex_web_service.htm#AEAPI1933

「get_Header()」などのようなものはありません。レスポンスヘッダーに自動的にリクエストヘッダ「変更」した後

--Set Request Headers 
    apex_web_service.g_request_headers(1).name := 'Authorization'; 
    apex_web_service.g_request_headers(1).value := '[MY API TOKEN]'; 
    apex_web_service.g_request_headers(2).name := 'Content-Type'; 
    apex_web_service.g_request_headers(2).value := 'application/json'; 
    apex_web_service.g_request_headers(3).name := 'Content-Length'; 
    apex_web_service.g_request_headers(3).value := '[CONTENT LENGTH IN BYTES OF REQUEST BODY]'; 

     l_lcResult := apex_web_service.make_rest_request(p_url   => 'MY API URL' 
                 ,p_http_method => 'POST' 
                 ,p_body   => 'REQUEST BODY IN JSON FORMAT'); 

:あなたは(ここでは例のコードを)あなたのヘッダーを設定し、要求を送信します。以下のようにあなたが応答ヘッダを取得することができます。

--Here we search for the header-field called 'Location'  
for i in 1.. apex_web_service.g_headers.count loop 
    l_vcHeaderName := apex_web_service.g_headers(i).name; 
    l_vcHeaderValue := apex_web_service.g_headers(i).value; 

    exit when l_vcHeaderName = 'Location'; 
end loop; 

dbms_output.put_line('Name: ' || l_vcHeaderName); 
dbms_output.put_line('Value: ' || l_vcHeaderValue); 

for i in 1.. apex_web_service.g_headers.count loop 
    l_vcHeaderName := apex_web_service.g_headers(i).name; 
    l_vcHeaderValue := apex_web_service.g_headers(i).value; 
end loop; 

あなたは(私のような)特定のレスポンスヘッダを探している場合は、これを使用することができます

関連する問題