importPackage(Packages.org.eclipse.birt.report.engine.api); importPackage(Packages.java.io); importPackage(Packages.java.util); importPackage(Packages.java.text); var publish = params["p_publishReport"].value; if(publish == 'true'){ rptdoc = reportContext.getHttpServletRequest().getAttribute("attributeBean").isDesigner(); var re = reportContext.getReportRunnable().getReportEngine(); var des = re.openReportDesign("/Apps/sibio/glassfish/domains/birtdomain2/applications/j2ee-modules/birt/bioplus/rpte_test1.rptdesign"); var branch = params["p_branch"].value; var version= params["p_version"].value; var user= params["p_user"].value; var description = "Automatic creation"; //Here I make the directory info var dir = "/TestReport/"+branch+"_"+version; //Here I make the name of the pdf file using a static name + actual date var date = new Date(); var sdf = new SimpleDateFormat("ddMMyyyyhhmmssms"); var reportName = "repTest" + "-" + sdf.format(date) + ".pdf"; //Here I save the pdf on my server var ntask = re.createRunAndRenderTask(des); ntask.setParameterValue("p_branch", params["p_branch"].value ); ntask.setParameterValue("version", params["p_version"].value ); var options = new PDFRenderOption(); var outputfile = ""+dir + "/" + reportName; options.setOutputFileName(outputfile); options.setOutputFormat("pdf"); ntask.setRenderOption(options); var folder = new File(dir); var exito; canSave = folder.mkdirs(); if(!folder.exists()){ if(canSave){ ntask.run(); ntask.close(); } }else{ ntask.run(); ntask.close(); } //Here, when the file has been created, I tried to send info to a servlet, but I obtain errors. I copied the code on this page: http://www.birt-exchange.org/org/devshare/designing-birt-reports/717-birt-report-with-database-write-back/ req = "http://142.140.3.75:2020/myApp/BirtWriteBackServlet"; req = req + "?branch="+ branch; req = req + "&version="+version; req = req + "&description="+description; req = req + "&resultado="+reportName; req = req + "&id_user="+user; try { //create a request for netscape, mozilla, opera, etc. request = new XMLHttpRequest(); }catch (e) { try { //create a request for internet explorer request = new ActiveXObject("Microsoft.XMLHTTP"); }catch (e) { //do some error-handling alert("XMLHttpRequest error: " + e); } } request.open("POST", req1, true); //prepare the request request.send(null); //send it return request; }