2011-10-21 4 views
1

私のアプリケーションはOracleのOAS(ADF環境)にデプロイされています。私のアプリケーションは、送信ボタン付きのシンプルなフォームです。クリックすると、Oracleのレポートサーバー(rwservlet)にリクエストが送信されます。私の要求は次のようになります。oracleのレポート・サーバーで生成されたPDFの場合、サーブレット応答を保存します

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

これはPDFレポートを生成し、ユーザーのブラウザに戻ります。そのPDFレポートを取得してローカルサーバーに保存したいのです(OASサーバーとReports Serverの2つのサーバーがあるため、Reportsサーバーでレポートを呼び出してクライアントに戻ります)。プロセスをインターセプトしてOASサーバーにレポートを保存したい)。

リクエストを送信するために、OASサーバーでサーブレットを使用しました。私は何とか私の応答オブジェクトからPDFを取得したい(それは私の計画です)。これが可能かどうかはわかりません。

答えて

1

クライアントの要求を傍受/コピーすることはできません。別のHTTPリクエストでプログラムでリクエストする必要があります。

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

普通のJava IOの方法で任意のOutputStreamに書き込みます。たとえば、FileOutputStreamです。

+0

ちょっとBalusC、私はこのアイデアを使用しましたが、少し違って実装しました...私は投稿要求を送信し、ローカルファイルに応答を書き込みます。よく働く。私が要求しているリソースはパスワードで保護されているので、回避する必要があります。しかし、ありがとう、あなたの返信は私を正しい方向に持って来ました。 – berto77

+0

ようこそ。ここでは、 'URLConnection'によってPOSTリクエストを送信する例を見つけることができます:http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests – BalusC

+0

うわー...うん、まさに私がやったこと。しかし、ここにはもっとたくさんのものがあるようです。リンクありがとう – berto77

関連する問題