Terkadang tugas muncul untuk mendapatkan laporan di tempat kerja klien tanpa menggunakan sarana interaksi interaktif dalam bentuk browser.
Pada masa Oracle Reports, masalah serupa diselesaikan melalui penggunaan utilitas rwclient. Apa yang dapat diterapkan untuk ini di Oracle BIEE? - kami menggunakan REST API yang disediakan untuk Oracle BI Publisher :
- Mari buat sebuah laporan, biarkan tersedia di direktori: /~scott.tiger/Example;
- Dengan meminta melalui utilitas curl , kami mendapatkan respons server, menyimpannya ke file:
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 - Karena konten respons dalam dokumen report_out.xlsx belum Excel, tetapi dokumen multi bagian (lihat RFC 7578 ), kami memproses dokumen tersebut, menggigit detail yang tidak perlu:
perl -i -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' report_out.xlsx - Kami memastikan bahwa laporan berfungsi dengan membukanya melalui Excel di mesin klien.
- Kami merekatkan perkembangan bersama melalui pipa dan mendapatkan solusi yang sudah jadi:
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