2015-11-20 123 views
0

我的任務是提供解決方案,將Oracle 10中的JSON對象傳遞到雲中的Web服務。我將使用PL/JSON生成JSON對象,問題出現在所需解決方案的交付方面。 Oracle使用PL/SQL將JSON對象提供給雲(這是我首選的方法)嗎?或者我需要藉助Java之類的外部服務來提供這種功能?一些示例代碼/僞代碼將不勝感激。如何將Oracle 10中的JSON對象傳遞到雲中的Web服務

PS:我很少接觸到網絡技術,所以請溫柔:-)

問候 保羅J.

回答

1

你需要使用UTL_HTTP包

這裏是如何的好例子從pl/sql發佈json字符串到web服務 invoke-a-rest-service-from-plsql

begin 
    publish_cinema_event('2', -4); 
end; 

create or replace 
procedure publish_cinema_event 
(p_room_id in varchar2 
, p_party_size in number 
) is 
    req utl_http.req; 
    res utl_http.resp; 
    url varchar2(4000) := 'http://localhost:9002/cinema'; 
    name varchar2(4000); 
    buffer varchar2(4000); 
    content varchar2(4000) := '{"room":"'||p_room_id||'", "partySize":"'||p_party_Size||'"}'; 

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); 
    -- process the response from the HTTP call 
    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 publish_cinema_event; 
相關問題