Wednesday, November 12, 2008

A PHP Client for JasperServer (via SOAP)

I needed a PHP version of my Ruby SOAP client for JaserpServer.

Here it is: http://gist.github.com/26205

Usage (this runs the report unit '/my_report' and returns the result in PDF format):

 
  $jasper_url = "http://jasper.example.com/jasperserver/services/repository";
  $jasper_username = "jasperadmin";
  $jasper_password = "topsecret";


  $client = new JasperClient($jasper_url, $jasper_username, $jasper_password);

  $report_unit = "/my_report";
  $report_format = "PDF";
  $report_params = array('foo' => 'bar', 'fruit' => 'apple');
 
  $result = $client->requestReport($report_unit, $report_format,$report_params);

  header('Content-type: application/pdf');
  echo $result;

10 comments:

Anonymous said...

You saved my time :) Can't wait to test it with my framework.

Anonymous said...

Do you have examples in other formats like xls,doc.
Thanks.

Matt Zukowski said...

Should be the same, just change the $report_format from 'PDF' to 'XLS', 'DOC', or whatever. You'll also have to change the mime type from application/pdf to application/vnd.ms-excel for excel, application/vnd.ms-word for doc.

Anonymous said...

I tried to change $report_format to 'XLS', 'DOC', and the mime type from application/pdf to application/vnd.ms-excel for excel, application/vnd.ms-word for doc, But it didn't work.
Please help me ... Thanks.

Anonymous said...

I did it ... This page shows how to export a jasperreport to xls.

http://imrannazar.com/Parsing-the-DIME-Message-Format

Anonymous said...

I read the DIME document...but went over my head...can you show a more way of getting these into excel and word?

garapati said...

Hi,

I had problem i am using a server which doesnot support java and i am using firewalls that won't allow database from external servers, So even i am able to send the jasper report i should also give database access as the jasper file also included with sql queries, is there any method or plugin which can generate pdf using the data i sent along with report rather than database or can i generate a jasper report in such a way

Anonymous said...

pls. give us the code on which
new JasperClient() was called

$client = new JasperClient($jasper_url, $jasper_username, $jasper_password);

edgard said...

Do you have examples in other formats like xls,doc.
Thanks.

FlappySocks said...

Is it possible to attach an XML dataset to report on?