使用oracle的报表服务器生成的pdf时保存servlet响应

时间:2011-10-21 19:10:35

标签: servlets oraclereports

我的应用程序部署在Oracle的OAS(ADF环境)上。我的应用程序是一个带有提交按钮的简单表单。单击它时,我向Oracle的报告服务器发送请求(到rwservlet)。我的请求看起来像这样:

http://<server>:<port>/reports/rwservlet?report=<report_name>&userid=<userid>/<password>@<connect_string>&desformat=pdf&destype=cache

生成PDF报告并返回用户的浏览器。我想获得PDF报告并将其保存到我的本地服务器(所以我有2台服务器:OAS服务器和Reports Server - 我在Reports服务器上调用了报告并返回到客户端。我只是想拦截进程并将报告保存在OAS服务器上。)

要发送请求,我在OAS服务器上使用了一个servlet。我想以某种方式从我的响应对象中获取PDF(这是我的计划)。我不知道这是否可能。

1 个答案:

答案 0 :(得分:1)

您无法拦截/复制客户的请求。您需要使用其他HTTP请求以编程方式请求它。

InputStream input = new URL("http://<server>:<port>/reports/rwservlet?report=<report_name>&userid=<userid>/<password>@<connect_string>&desformat=pdf&destype=cache").openStream();
// ...

只需将其写入任意OutputStream通常的Java IO方式即可。例如,FileOutputStream