データを持ち、そのデータを Web サービス (Lotus Notes データベースなど) に提供できるシステムがあります。Jasper は Web サービスを呼び出してレポートのデータを取得できますか?
4 に答える
インターフェースJRDataSourceを実装することにより、カスタム DataSource を作成できます。
現時点でのより良い解決策は、Jasper データ ソース SPI を使用して、Restful サービスを JDBC データ ソースと同じようにデータ ソースとして作成することです。
http://javattitude.com/2015/07/30/using-rest-web-service-as-data-source-for-jasper-reports/
これは一般的なものであるため、これを書いたものはすべてのサービスで機能します。
これは、Web Service Datasource を使用して可能になりました
http://community.jaspersoft.com/project/web-service-data-source
このコミュニティ プロジェクトは、最新のカスタム データソース フレームワークを使用して構築されたカスタム データソースを実装します (データ アダプターを内部で活用します)。
JasperReports Server 内でも動作しています。
これを使用して、クエリ ベースの入力コントロールを入力したり、トピックを介してアドホック レポート (商用バージョンの場合) を使用したりできます。
ありがとう
できますが、おそらくすぐに非常に複雑になります。しかし、そのパスをたどりたい場合は、JRXmlDataSourceを使用すれば確実に可能です。次のようにデータソースを定義する必要があります。
new net.sf.jasperreports.engine.data.JRXmlDataSource(
net.sf.jasperreports.engine.util.JRLoader.getLocationInputStream("http://yourserver.com/xml_data_source")
レポート用にリモート サーバーから xml データを取得するために、誰かが同様のクエストに着手したように見えるこの投稿を参照してください。
そうは言っても、コードでサーバーからデータをフェッチし、レポートに必要なフィールドを選択して、次のように渡すと、おそらく作業ははるかに少なくなり、コードはおそらくより保守しやすくなります。 、JRMapCollection データソース。特にリモート サービスが Apache Axis などのツールを使用してクライアントを生成できる wsdl を提供する場合。