3
我发现如果我打电话UTL_HTTP.GET_RESPONSE
并得到一个错误响应(在这种情况下500),当我打电话UTL_HTTP.READ_TEXT
它失败ORA-29261: bad argument
。出现错误时如何查看响应主体?如何在Oracle UTL_HTTP中将响应正文保留在非200响应中?
我发现如果我打电话UTL_HTTP.GET_RESPONSE
并得到一个错误响应(在这种情况下500),当我打电话UTL_HTTP.READ_TEXT
它失败ORA-29261: bad argument
。出现错误时如何查看响应主体?如何在Oracle UTL_HTTP中将响应正文保留在非200响应中?
该解决方案最终被调用
UTL_HTTP.set_response_error_check(false);
提出请求之前。
我已经在过去做什么就是通过标题来读取,然后做一个read_line得到个体反应线:
v_resp := utl_http.get_response (v_req);
v_status := v_resp.status_code;
FOR i IN 1..UTL_HTTP.GET_HEADER_COUNT(v_resp) LOOP
utl_http.get_header(v_resp, i, v_name, v_value);
dbms_output.put_line(v_name || ': ' || v_value);
END LOOP;
BEGIN
utl_http.read_line(v_resp, v_value, TRUE);
v_response := v_value;
dbms_output.put_line(v_value);
EXCEPTION
WHEN OTHERS THEN
NULL; -- handle exception here
END;
事实证明,我只需要调用'UTL_HTTP.set_response_error_check(false);' – Dan 2012-04-03 18:37:38
是的,我看到我的包中早些时候有同样的调用;-) – DCookie 2012-04-03 19:55:03