ブラウザの形で対話型の対話手段を使用せずに、クライアントの職場でレポートを取得するというタスクが発生する場合があります。
Oracle Reportsの時代には、rwclientユーティリティを使用して同様のタスクが解決されていました。Oracle BIEEでこれに何を適用できますか?-Oracle BIPublisher用に提供されているRESTAPIを使用します。
- レポートを作成して、次のディレクトリで利用できるようにします。/~scott.tiger/Example;
- curlユーティリティを介して要求することにより、サーバーの応答を取得し、ファイルに保存します。
curl -X POST -u login:password -o report_out.xlsx -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://hostname:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run - report_out.xlsxドキュメントの応答の内容はまだExcelではなく、マルチパートドキュメント(RFC 7578を参照)であるため、ドキュメントを処理し、不要な詳細を削除します。
perl -i -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' report_out.xlsx - クライアントマシンのExcelからレポートを開いて、レポートが機能することを確認します。
- パイプを介して開発を結合し、既製のソリューションを取得します。
curl -X POST -u login:password -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://nameserv:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run | perl -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' > report_output.xlsx