How to sent a POST request as json in plsql

后端 未结 2 682
予麋鹿
予麋鹿 2021-02-06 13:59

I have the following basic code which i use to post a plsql json request. The webservice getting executed doesnt have any response as it is simply for carrying out a certain tas

相关标签:
2条回答
  • 2021-02-06 14:09

    After a lot of searching, i got the following code from a blog. Works fine for me.

    declare
    req utl_http.req;
    res utl_http.resp;
    url varchar2(4000) := 'http://192.168.1.194:8080/NotificationApp/sendNotification.rest';
    name varchar2(4000);
    buffer varchar2(4000); 
    content varchar2(4000) := '{"code":100,"id": "APA91bFSmD_gBsUwO_hraRZL20mt8p4ejGn5fC7tlciINT50Ad8oIod2T-64GVk_8rProqXGEpYuDcoQogG0L7a0TuyeeisTcmHiUUONbnZzn4_u0ED7QD_iNeVkh1ZgU8Pa-HRtfgJUgOT-TyvlM9hB4Yn9fvOPud","data": "alert alert"}';
    
    begin
    
    req := utl_http.begin_request(url, 'POST',' HTTP/1.1');
    utl_http.set_header(req, 'user-agent', 'mozilla/4.0'); 
    utl_http.set_header(req, 'content-type', 'application/json'); 
    utl_http.set_header(req, 'Content-Length', length(content));
    
    utl_http.write_text(req, content);
    
    res := utl_http.get_response(req);
    
        begin
        loop
        utl_http.read_line(res, buffer);
        dbms_output.put_line(buffer);
    
        end loop;
        utl_http.end_response(res);
        exception
        when utl_http.end_of_body then
        utl_http.end_response(res);
        end;
    end;
    
    0 讨论(0)
  • 2021-02-06 14:24

    Now, I needed to change the line req := utl_http.begin_request(url, 'POST',' HTTP/1.1');

    I did and worked: req := utl_http.begin_request(url, 'POST');

    0 讨论(0)
提交回复
热议问题