Jump to content
JasperReports Library 7.0 is now available ×

passing header info while using new net.sf.jasperreports.engine.data.JsonDataSource as a datasource


ujadhav

Recommended Posts

Hi,

We are using REST endpoint as datasource for jasper reports.

 

but everywhere using RESTPOINT its mandatory to create an adapter with rest url and header info and use that as datasource.

We dont want to use adpapter , we want to use new  net.sf.jasperreports.engine.data.JsonDataSource constructor 

public JsonDataSource(String location, String selectExpression) throws JRException  as a dataset expression so we formed expression as follow.

new  net.sf.jasperreports.engine.data.JsonDataSource("http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin","value") , but this particular endpoint expects some header information from requestor ("Accept", "application/json") else it throws bad exception as error, is there any way we can pass header info here?

 

net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new  net.sf.jasperreports.engine.data.JsonDataSource("http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin","value")
    at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:551)
    at com.jaspersoft.studio.editor.preview.view.control.ReportController.access$18(ReportController.java:526)
    at com.jaspersoft.studio.editor.preview.view.control.ReportController$1.run(ReportController.java:444)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: new  net.sf.jasperreports.engine.data.JsonDataSource("http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin","value")
    at net.sf.jasperreports.engine.fill.JREvaluator.handleEvaluationException(JREvaluator.java:284)
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:316)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:673)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:641)
    at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1169)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:522)
    at net.sf.jasperreports.components.table.fill.FillTableSubreport.evaluateSubreport(FillTableSubreport.java:105)
    at net.sf.jasperreports.components.table.fill.FillTable.evaluate(FillTable.java:133)
    at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2583)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:813)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:264)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:110)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:615)
    at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)
    at java.lang.Thread.run(Thread.java:748)
Caused by: net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin.
    at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:139)
    at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:51)
    at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:196)
    at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:195)
    at net.sf.jasperreports.repo.RepositoryUtil.getInputStreamFromLocation(RepositoryUtil.java:172)
    at net.sf.jasperreports.engine.util.JsonUtil.parseJson(JsonUtil.java:172)
    at net.sf.jasperreports.engine.data.JsonDataSource.<init>(JsonDataSource.java:143)
    at net.sf.jasperreports.engine.data.JsonDataSource.<init>(JsonDataSource.java:138)
    at net.sf.jasperreports.engine.data.JsonDataSource.<init>(JsonDataSource.java:151)
    at WindchillTrustedAuth_1609234588892_992625.evaluate(WindchillTrustedAuth_1609234588892_992625:212)
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:302)
    ... 16 more
Caused by: net.sf.jasperreports.engine.JRException: Error opening input stream from URL: http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin.
    at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:343)
    at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:122)
    ... 26 more
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://vagrant.ptcnet.ptc.com:2280/Windchill/trustedAuth/servlet/odata/DocMgmt/Documents?wt.effectiveUid=wcadmin
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
    at java.net.URL.openStream(URL.java:1045)
    at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:339)
    ... 27 more
 

Please let us know how we can handle this situation?

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...