アプリケーションに組み込まれた Jetty サーバーで BIRT 3.7.2 Viewer Webapp を起動していますが、法的な理由により、war ファイルを自分で編集することは許可されていません。
サーバー側の印刷やレポートの再実行機能など、ビューアのいくつかのオプションを無効にしたいと考えています。
オーバーライド記述子を使用して web.xml をオーバーライドし、それを無効にする BIRT プロパティを設定するだけで、印刷は非常に簡単でした。
ただし、再実行はより困難であることが証明されています。WebApp をラップする複数の Jetty Handler があり、最初は re-run コマンドを含むリクエストをフィルタリングしようと考えましたが、問題はビュー リクエストと同じように見えることです。
BIRT ビューアーを使用して最初にレポートをレンダリングするとき、次の 3 つの必要な要求が Jetty Web サーバーに記録されます。
/birt/frameset?__document=hello_world.rptdocument
- GET 要求
/birt/webcontent/birt/pages/common/processing.jsp?__rtl=false
- GET 要求
/birt/frameset?__document=hello_world.rptdocument&__sessionId=20130710_161752_347
- POST 要求
そして再実行時:
/birt/frameset?__document=hello_world.rptdocument&__sessionId=20130710_161752_347
- POST リクエスト
これにより、URL のフィルタリングが難しくなっています。リクエスト オブジェクトが同一のように見え、Jetty または BIRT ビューアーのログには、処理が異なる理由 (つまり、単にレポートをレンダリングするのではなく、レポートを再実行する) を説明するものがないように見えるからです。
どんな助けでも大歓迎です。
ありがとう、
ロブ