API 错误 ORA-29270:打开的 HTTP 请求过多

Posted

技术标签:

【中文标题】API 错误 ORA-29270:打开的 HTTP 请求过多【英文标题】:API Error ORA-29270: too many open HTTP requests 【发布时间】:2016-12-02 17:11:56 【问题描述】:

我们在尝试执行以下过程时收到 ORA-29270:too many open HTTP requests。请让我们知道我们需要在哪里以及所有需要关闭 Request 和 Response ,请提供我们如何处理异常的过程示例之一。并且所有请求都应该正确处理。

    BEGIN
  l_http_request := utl_http.begin_request (p_url, 'POST');

  BEGIN
    -- build the request by using utl_http.set_header() and utl_http.write_text()
    -- ...

    -- process the request and get the response:
    l_http_response := utl_http.get_response (l_http_request);
   WHEN OTHERS THEN
         --- utl_http.end_response(http_resp);
              error_code := '91'; 
            error_desc := SQLERRM  || ' Unhandled Exception'; 
  END;
  BEGIN
    LOOP
      -- read the response using utl_http.read_line()
      -- ...
    END LOOP;
    -- Complete the request and response, and close the network connection
    utl_http.end_response(l_http_response);

  EXCEPTION 
    when utl_http.end_of_body then
    utl_http.end_response(http_resp); 

    WHEN error_out THEN
        NULL;
   WHEN OTHERS THEN
       --- utl_http.end_response(http_resp);
            error_code := '91'; 
            error_desc := SQLERRM  || ' Unhandled Exception'; 
                      END;
END;

【问题讨论】:

【参考方案1】:

你好:我碰巧在我自己的代码中解决了同样的错误。我通过添加 utl_http.end_response(l_http_response) 来修复我的 - 你已经拥有了。

但我注意到您在 end_response 调用中使用了两个不同的参数。尝试改变

utl_http.end_response(http_resp); 

utl_http.end_response(l_http_response);

在您的异常块中。我希望这有帮助。干杯,鹰

【讨论】:

以上是关于API 错误 ORA-29270:打开的 HTTP 请求过多的主要内容,如果未能解决你的问题,请参考以下文章

ORA-29273: HTTP 请求失败,ORA-29270: 打开的 HTTP 请求太多

解码 json 无法打开流:HTTP 请求失败!错误

来自 Python AppEngine 的 Google Url Shortener API:HTTPError:HTTP 错误 403:禁止

为啥我尝试打开 URL 时收到 403 错误

HttpRunner无法打开http://127.0.0.1:8000/api/register/网址

打开第二个查看器时 AutoDesk Forge 查看器 API 引发错误