Oracle 10g UTL_HTTP begin_request 返回 ORA-29273: HTTP 请求失败

Posted

技术标签:

【中文标题】Oracle 10g UTL_HTTP begin_request 返回 ORA-29273: HTTP 请求失败【英文标题】:Oracle 10g UTL_HTTP begin_request return ORA-29273: HTTP request failed 【发布时间】:2017-12-06 15:44:48 【问题描述】:

我正在使用 Oracle10g plsql 访问 Jasperserver Web 服务,以生成 PDF 并将其存储在 blob 中。我关注这个post

当我更改 Jasperserver 主机时,我会替换 url 来自

http://myOLDserver:8080/jasperserver/rest_v2/reports/apex/reportname.pdf?j_username=jus&j_password=jpw&ID=2758

http://myNEWserver:8080/jasperserver/rest_v2/reports/apex/reportname.pdf?j_username=jus&j_password=jpw&ID=2758

程序会引发这样的错误

ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1389
ORA-29261: bad argument
ORA-06512: at line 51
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1029
ORA-12541: TNS:no listener

关于执行 UTL_HTTP.begin_request

我的 oracle 用户的机器正确 ping myNEWserver 并且浏览器中的 url 工作正常

【问题讨论】:

所以它在你的旧网络服务器上工作,但在你的新网络服务器上却不行? @APC :抱歉耽搁了,但是是的,我意识到旧服务器与数据库相同,而新服务器则不同。所以设置 jasper 服务器和新数据库的 DBA 错过了一些我猜的配置。 【参考方案1】:

我发现问题是我的数据库服务器的 DNS 配置不正确。

从不同的数据库服务器正确配置了具有相同 URL 的 UTL_HTTP.begin_request 没有错误,没有 ACL 或 WALLET 等数据库配置。

调用该过程的数据库服务器是 AIX 版本 6.1,我必须修改 /etc/resolv.conf 和主机(因为无法立即重新启动服务器)。

我希望这个解决方案可以帮助

【讨论】:

@AlexMl 亲爱的我也面临着同样的问题,我和你之间的不同之处在于并非所有请求都失败了大约 30% 的请求失败,而另一个成功......你有什么建议

以上是关于Oracle 10g UTL_HTTP begin_request 返回 ORA-29273: HTTP 请求失败的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 12c UTL_HTTP Cookie 值长度大于 1024

oracle utl_http 访问https类型

请求 utl_http 包时 Oracle 错误“ORA-28759:打开文件失败”

确定需要哪个证书才能使用 Oracle utl_http 执行 https 发布

对于使用 Oracle pl sql 的 http 请求,是不是有替代 utl_http 包的方法?

使用 ngixx 的 Oracle UTL_HTTP 错误请求