2016/12/30

Asp.net MVC call Jasper report via REST v2 service

Author: Willie Chou
Date: 2016/12/30


Directly call jasper report via http request.
Please see below scripts.
Hope this is help for you ! Happy New Year !

Please note! the variable _ReportURL format
  _ReportURL  = http://<web url>/jasperserver/rest_v2/reports

  public  ActionResult PrintPO(string POEntry)
        {

           
            //_ReportURL = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportURL"];

            //_ReportUser = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUser"];

            //_ReportUserPWD = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUserPWD"];


            String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(_ReportUser + ":" + _ReportUserPWD));

            string URL = _ReportURL + "/report.pdf?po=" + POEntry;



            CookieContainer myContainer = new CookieContainer();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);

          

            request.CookieContainer = myContainer;

            request.PreAuthenticate = true;                       

            request.Headers.Add("Authorization", "Basic " + encoded);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();



            var fileBytes = response.GetResponseStream();

            string filename = String.Format("PO{0}_{1}.pdf", POEntry, DateTime.UtcNow.ToString("yyyMMddHHmmssfff"));

            return File(fileBytes, response.ContentType,filename); //preview in browser please remove filename

        }



Result as below pix.

2016/12/27

Jasper Server site email 設定

Configure JasperReports Server to send e-mails

Author: WillieChou
Date: 2016/12/27

請留意,更改設定前備份好相關檔案,以利回溯復原!


Step 1. 設定參數 js.quartz.base.properties


檔案路徑 : \jasperserver\WEB-INF\js.quartz.base.properties
加入參數 : 

report.scheduler.mail.sender.host=您的主機 
report.schedulers.mail.sender.protocol=您的協定
report.schedler.mail.sender.port=您的Port
report.scheduler.mail.sender.username=您的帳號
report.scheduler.mail.sender.password=您的密碼


Step 2. 設定參數 applicationContext-report-scheduling.xml


檔案路徑 : \jasperserver\WEB-INF\applicationContext-report-scheduling.xml
我的Host 是利用o365來寄信,並有SSL的安全機制,因此請留意 mail.smtps.auth 要設為 true
參數確認如下: 


 ....


 Step 3.重啟Jasper Server 後大功告成


Reference:

[1] http://community.jaspersoft.com/wiki/how-configure-jasperreports-server-send-e-mails-gmail-mail-account

[2]http://community.jaspersoft.com/wiki/quartz-scheduling-properties