Question

I'm looking for a solution how to fill a report that is not local on my computer, but on a JasperReports Server.

Is there any example for getting a connection to a Repository or a Report on the Jasperserver?

it should be something like,Pseudo-code:

Map<String,Object> jasperParameter = new HashMap<String,Object>();

String linkToMyRepository="localhost:8080/jasperserver/repository"    

RepositoryService service = new RepositoryService("linkToMyRepository");

JasperReport report = (JasperReport)service.getResource("myreport");

JasperFillManager.fillReport(report, jasperParameter, con);

This is only pseudo-code, can someone help me out?

Thanks alot!

Was it helpful?

Solution

solved!

JServer server = new JServer();

        server.setUrl("http://localhost:8080/jasperserver/services/repository");

        server.setUsername("username");

        server.setPassword("password");

        WSClient client = new WSClient(server);

        ResourceDescriptor resourceDescriptor = new ResourceDescriptor();

        resourceDescriptor.setUriString ("/reports/myreportname");

        Map<String, Object> parameterMap = new HashMap<String, Object>();

        parameterMap.put("MY_PARAMETER_NAME", "myparametervalue");

        JasperPrint printer = client.runReport(resourceDescriptor, parameterMap);

        JasperViewer.viewReport(printer, false, Locale.GERMAN);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top