从PL / SQL调用JIRA Web服务

时间:2015-04-19 18:34:55

标签: web-services plsql oracle11g

业务需求是将JIRA问题引入oracle数据库使用RESTful Web服务。 尝试使用utl_http连接但未能传递用户名和密码。

1 个答案:

答案 0 :(得分:0)

您可以使用utl_http.set_authentication设置基本身份验证方法

DECLARE
    v_url                          VARCHAR2(1000 CHAR) := 'http://jira_host/rest/api/2/issue/MKEY-1';
    v_http_req                     utl_http.req;
    v_http_resp                    utl_http.resp;
    v_response                     VARCHAR2(32000 CHAR);
    v_response_clob                CLOB;
BEGIN
    v_http_req := utl_http.begin_request (v_url, 'GET', 'HTTP/1.1');

    -- Set Headers
    UTL_HTTP.set_body_charset(v_http_req, 'UTF-8');
    -- Set authentication
    utl_http.set_authentication(v_http_req, username => 'user', password => 'password');

    -- Send request
    v_http_resp := utl_http.get_response(v_http_req);

    -- Read response
    BEGIN
        LOOP
            utl_http.read_text(v_http_resp, v_response, 10000);
            dbms_Output.put_line(v_response);
            v_response_clob := v_response_clob || v_response;
        END LOOP;
    EXCEPTION
        WHEN utl_http.end_of_body THEN
            NULL;
    END;

    -- Close connection
    utl_http.end_response (v_http_resp);
END;
/