Search code examples
javaoracleoracle-bi

Oracle BI Report Service return 0 size byte array


when I call runReport in Oracle Bi Service in oracle Bi report v12c the return byteArray is null !!! pls help me !

my code :

public static void main(String[] args) {
    ReportService_Service reportService_Service = new ReportService_Service();
    ReportService reportService = reportService_Service.getReportService();

    ReportRequest reportRequest = new ReportRequest();
    reportRequest.setAttributeFormat("pdf");
    reportRequest.setAttributeLocale("en-US");
    reportRequest.setAttributeTemplate("Simple");
    reportRequest.setReportAbsolutePath("/Ehsan/HrEmployeeReport.xdo");
    ParamNameValues allParam = new ParamNameValues();
    ArrayOfParamNameValue pNameValue = new ArrayOfParamNameValue();
    ParamNameValue nameValue = new ParamNameValue();
    nameValue.setName("salParam");
    ArrayOfString aos = new ArrayOfString();
    aos.getItem().add("13000");
    nameValue.setValues(aos);
    pNameValue.getItem().add(nameValue);
    allParam.setListOfParamNameValues(pNameValue);
    reportRequest.setParameterNameValues(allParam);
    try {
        File newFile = new File("D:/a/b.pdf");
        FileOutputStream fos = new FileOutputStream(newFile);
        ReportResponse response = new ReportResponse();
        response = reportService.runReport(reportRequest, "weblogic", "weblogic1");
        System.out.println(response.getReportContentType());
        System.out.println(response.getReportFileID());
        System.out.println(response.getReportBytes().length);
        fos.write(response.getReportBytes());
        fos.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

output :

  1. application/pdf
  2. xmlp4736064089125233107tmp
  3. 0

Solution

  • Try adding:

    reportRequest.setSizeOfDataChunkDownload(-1);

    in your code.