2016-05-18 2 views
-1

Ich habe ein Template Design in JasperSoft Studio entwickelt. Ich kann den Vorlagencode bei Bedarf hochladen. Die Vorlage, die ich über eine JDBC-Verbindung zur PostgreSQL-Datenbank erstellt habe, um den Bericht zu füllen. Dann nahm ich den lokalen JasperReports Server und laden Sie die Vorlage auf dem Server. In dieser Hinsicht habe ich ein paar Fragen.Wie übergebe ich die Daten [json/xml] an den Bericht, der über Web Services auf JasperReports Server bereitgestellt wird?

  1. Kann ich als Daten json oder xml (statt JDBC) verwenden?
  2. Wie kann ich die Daten (JSON oder XML) an eine Vorlage auf dem Server mit Web Services übergeben?
  3. Konnten Sie nicht ein einfaches Beispiel in Python machen?
+0

In Bezug auf Ihre erste Frage: Haben Sie diesen Beitrag gesehen? http://stackoverflow.com/questions/11536995/create-jasper-report-pdf-form-from-json-object-or-json-string – tobi6

+0

Vielen Dank für Ihre Antwort. Ich habe dieses Thema nicht gesehen. Nach dem Lesen erkannte ich, dass es möglich ist, als Daten JSON zu verwenden, aber Ihren Link verstehe ich nicht, wie der Bericht ausfüllt. Kann auf den Einsatz eines Datenadapters verzichtet werden? –

Antwort

0
  1. Ja, benötigen Sie einen JSON oder XML-Daten-Adapter zu verwenden. Sie können create a Data Adapter in Jaspersoft Studio und dann deploy it in JasperReports Server. Obwohl in diesem Tutorial nicht angegeben, müssen Sie auch die JSON- oder XML-Datei mit den tatsächlichen Daten hochladen, die im Datenadapter angegeben sind.

Ein gutes Beispiel dafür, wie Sie Ihre Dateien wie der Tabelle Bericht Bericht über den /report/interactive Pfad des Repository aussehen sollten. Wenn Sie den Bericht mit dem Repository-Explorer von Jaspersoft Studio untersuchen, sehen Sie, dass der Bericht den CSV-Datenadapter aus demselben Ordner verwendet. Wenn Sie diese Adapterdatei öffnen, sehen Sie, dass sie die CSV-Datei aus dem gleichen Ordner verwendet.

  1. Jasper Server bietet RESTful services, mit denen interagieren Sie mit den Server-Ressourcen (reportUnits, inputControls, Dateiressourcen, etc.). Mit diesen Diensten ändern Sie nicht das Design der Berichtsvorlage. Sobald Sie herausgefunden haben, was Sie in Ihrer Vorlage von Punkt 1 haben müssen, und Sie Ihre Adapterdatei (eine XML-Datei) erstellt haben, können Sie den Repository-Service zu upload your files verwenden.

  2. Ich denke, es gibt viele Ressourcen, die beschreiben, wie man Anfragen an RESTful-Dienste in Python stellt. Dieses könnte ein Anfang sein: Making a request to a RESTful API using python

+0

vielen Dank für Ihre Antwort. Die Reportvorlage 'jrxml' und der' Data Adapter' müssen auf dem Server gespeichert sein? Ich möchte ** dynamisch ** an den Server senden (anstatt sie auf einem Server zu speichern) und als Antwort auf den Empfang des Berichts in verschiedenen Formaten. Ist das möglich? Korrigiere mich, wenn ich falsch liege. –

+0

Die Vorlage und der Adapter müssen sich auf dem Server befinden, um den Bericht auszuführen. Es geht nicht anders. Obwohl Antwort # 1 auch zeigt, wie man Dinge manuell macht, geht es mehr darum, wie man die Dateien vorbereitet, die man mit Antwort # 2 hochladen wird. Mit den Dateien auf dem Server können Sie dann den Berichtsdienst (http: //community.jaspersoft.com/documentation/tibco-jasperreports-server-rest-api-reference/v621/reports-service) um den Bericht auszuführen und die Ausgabe in welchem ​​Format auch immer unterstützt wird (pdf, html, xls, docx, etc) – Narcis

+0

Ich habe habe meine Antwort bearbeitet und einige Erläuterungen hinzugefügt und auf ein Beispiel innerhalb des JasperReports-Servers hingewiesen, das diesen Ansatz bereits verwendet. Am Ende manipulieren Sie mit den REST-Diensten nur diese Ressourcen (Upload/Aktualisierung/Löschen des Berichts, des Datenadapters oder der Datendatei). – Narcis

Verwandte Themen