标签: jasperserver

用于访问报告的直接URL - JasperServer

我最近在JasperServer上一直在使用JasperReports.在阅读他们的文档后,他们说可以通过直接URL访问有关JasperServer存储库的任何报告.通过URL(GET)中的几个名称值对(例如reportName,输出,用户名和密码),可以检索特定报告.

我的问题是,如何让人们通过直接URL访问报告而无需人们在地址栏中看到所有信息(尤其是用户名和密码)?这似乎非常不安全.

JasperSoft有一些聪明的人,所以我必须遗漏一些东西.

如何在不显示其他人擦除和填写的所有参数的情况下仍然使用直接URL?有些人可能会回答说只是将表单提交更改为POST,但我甚至不知道从哪里开始在JasperServer上更改该代码.

PS我将至少使用SSL处理网络安全.

任何解释都会非常有帮助.

java ssl get jasper-reports jasperserver

7
推荐指数
1
解决办法
7543
查看次数

Jasper Server上的自定义Jar文件

我写了一些Java类,创建了jar文件.我想将它添加到JasperReports Server.当我确定我的jar文件的路径时,使用我的iReport中的工具 - >首选项 - >类路径菜单,它可以正常工作.但是,当我从另一台主机访问JR Server时,它不起作用.

我必须做什么,从这个JR服务器上随处可用这个jar文件?

java web-applications web-deployment jasperserver

7
推荐指数
1
解决办法
7328
查看次数

Jasper与不同应用程序之间的通信

我有Jasper Reports Server(安装在www.example.com上)和一个单独的Java/JSP应用程序(安装在www.example.net上),我正在寻找不同的选项来生成报告.

选项1(当前工作解决方案)

我目前的工作解决方案是用户登录Java/JSP应用程序,并选择一个报告.应用程序创建报告的XML表示形式,fileNameXML然后将其保存为,然后使用以下代码将其发送到Jasper Reports Server:

     <IFRAME height="600" width="1000" src="https://www.example.com/jasperserver/flow.html?
    _flowId=viewReportFlow&standAlone=true&_flowId=viewReportFlow&
    ParentFolderUri=%2Freports&
    reportUnit=%2Freports%2FExample_Report_2&j_username=user&
    j_password=password&
net.sf.jasperreports.xml.source=https://www.example.net/<%=fileNameXML%>">                              
     </IFRAME>
Run Code Online (Sandbox Code Playgroud)

(请注意,即使我在URL中传递用户名和密码,安全性也不会受到影响,因为使用了filenameXML String fileName = UUID.randomUUID().toString() + fileExt;)

选项2

我将Jasper Reports服务器直接连接到www.example.net上的SQL Server数据库,并以此方式生成报告.这种方法的缺点是(a)我需要在Jasper Reports中设置所有用户(b)我需要以安全意识的方式传递参数,以便每个用户只能访问他们自己的数据(c)我只能访问数据库,而不能访问我的应用程序

我的理想解决方案

但是,我真的希望能够通过Jasper访问我的应用程序的计算,并绕过登录到我的应用程序.

这样做的一个优点是我的应用程序还没有适当的移动访问权限,用户可以下载Jasper Mobile Application应用程序并从那里访问报告.

这将涉及以下内容:

  1. 用户登录Jasper
  2. 用户选择报告
  3. Jasper使用某些参数调用我的应用程序
  4. 应用程序创建xml文件
  5. 应用程序返回此文件的链接
  6. 贾斯珀展示报告

实现这一目标的最佳方法是什么?

java jsp jasper-reports jasperserver

7
推荐指数
1
解决办法
610
查看次数

JasperReports Server:如何使用url将报告导出为html文件

我需要将报告导出到普通的html文件而不使用jasper报告的视口.

如果我&output=pdf在url中我得到一个pdf文件,&output=xls一个xls文件,但&output=html会在jasper报告的视口中显示html.我也想要一个html文件.

我怎样才能实现这一目标?我正在使用http api.

从文档

以下示例执行与上一节中显示的相同的报表,但也将4012作为输入控件参数传递并导出为PDF而不是HTML:

http://<host>:<port>/<context>/flow.html?_flowId=viewReportFlow&reportUnit=
/supermart/Details/CustomerDashboard&customerID=4012&output=pdf
Run Code Online (Sandbox Code Playgroud)

如何将JasperReport导出为HTML?

相关问题,但对我没有帮助.

html java jasper-reports jasperserver

6
推荐指数
1
解决办法
1823
查看次数

大胆不能在Jaspersoft Studio中使用除sans serif之外的字体

在Jaspersoft Studio中,我创建了一个报告,我希望以粗体显示标题.如果我使用sans serif字体,那么它正常工作.如果我使用其他字体,则在Jaspersoft Studio的预览中会显示粗体,但在Jasper服务器中运行报告时不显示.请帮忙.

pdf-generation jasper-reports export-to-pdf jasperserver

6
推荐指数
2
解决办法
5329
查看次数

通过C#.net中的webservice将报表单元上传到jasperserver

我正在尝试通过来自C#.net的web服务将新的报告单元上传到jasperserver我已经成功上传/创建了报告单元但是当我通过iReport资源库导航器点击报告时它显示"No Attachment Present!" 在一个弹出框中.下面是我发送给webservice的'createXML':

    <request operationName='put' locale='en'>
          <resourceDescriptor name='barunit' wsType='reportUnit'
             uriString='/reports/bar/bar_files'
             isNew='true'>
            <label>Bar Unit</label>
            <description>This is a test</description>
            <resourceProperty name='PROP_PARENT_FOLDER'>
                <value>/reports/bar</value>
            </resourceProperty>

            <resourceDescriptor name='bar.jrxml' wsType='jrxml'
                 uriString='/reports/bar/bar_files'
                 isNew='true'>
                <label>Bar Report</label>
                <description>This is a test</description>

                <resourceProperty name='PROP_RU_IS_MAIN_REPORT'>
                    <value>true</value>
                </resourceProperty>
           </resourceDescriptor>
       </resourceDescriptor>
    </request>
Run Code Online (Sandbox Code Playgroud)

以下是将"createXML"发送到Web服务的代码:

JasperService.ManagementServiceService service = new JasperService.ManagementServiceService();
        service.Credentials = new System.Net.NetworkCredential("jasperadmin", "jasperadmin");
        service.PreAuthenticate = true; 

FileStream fs = new FileStream(@"C:\bar.jrxml", FileMode.Open, FileAccess.Read);


        Microsoft.Web.Services2.Attachments.Attachment jrxmlAttachment = new Microsoft.Web.Services2.Attachments.Attachment("text/xml",fs);

        service.RequestSoapContext.Attachments.Add(jrxmlAttachment);
        string out = service.put(createXML);
Run Code Online (Sandbox Code Playgroud)

来自webservice调用的响应给出了成功代码'0',所以我有点难过.我猜测问题在于RequestSoapContext的文件附件,因为在此之前一切都很好.

任何帮助将不胜感激!

c# jasperserver

5
推荐指数
1
解决办法
4922
查看次数

错误:无法找到tools.jar.预计在/usr/lib/jvm/java-6-sun-1.6.0.26/lib/tools.jar中找到它

我正在尝试在linux上构建jasperserver.它使用蚂蚁和maven.执行ant命令时会出现此异常.我检查了相同的路径但是lib文件夹不在同一条路径上.我该如何解决这个问题?

谢谢!!

java ant maven jasperserver

5
推荐指数
1
解决办法
6525
查看次数

如何通过JasperReports Server中的REST API调度具有集合类型参数的报表?

我正在使用JasperReports Server v4.5.

我们在使用REST API安排报告时遇到了困难.

我们能够安排只接受字符串参数的报告,但问题始于具有java.util.Collection类型参数的报告.我们尝试了一切,但找不到java.util.Collection的正确类型.

现在这个工作:

<parameters>
    <name>string_input</name>
    <value xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        test
    </value>
</parameters>
Run Code Online (Sandbox Code Playgroud)

但我们无法做到这一点:

<parameters>
    <name>array_parameter</name>
    <value type=? >[1, 2, 3]</value>
</parameters>
Run Code Online (Sandbox Code Playgroud)

当我查看代码时,我可以看到JasperReports Server WS接受数组,但是没有记录的方式来发送数组或数组类型.

解决这个问题的正确方法是什么?

rest jasperserver

5
推荐指数
1
解决办法
849
查看次数

JasperServer代理CSRF错误

我使用捆绑的Tomcat在Ubuntu 14.04 LTS和Nginx代理上安装了新的JasperReports Server 6.2,这样我就可以访问https://mydomain.xyz/jasperserver.它主要起作用,但我无法管理用户和角色.如果我绕过Nginx并直接进入Tomcat http://123.123.123.123:8080/jasperserver,一切都很完美.日志表明:

2016-02-28 19:44:08,024 ERROR CsrfGuard,http-nio-8080-exec-3:44 - 潜在的跨站点请求伪造(CSRF)攻击被挫败(用户:,ip:127.0.0.1,uri:/ jasperserver /flow.html,错误:请求中缺少必需的令牌)

这与旧的问题完全相同:在nginx后面运行jasperserver:潜在的CSRF攻击.但是我已经尝试过这两种缓解措施,但它仍然无效.

  • 我尝试设置underscores_in_headers on;,首先是in http,然后是in server,然后是两者.
  • 如果没有工作,我去掉了下划线从JASPER_CSRF_TOKENOWASP_CSRFTOKENWEB-INF/esapi/Owasp.CsrfGuard.properties

我重新启动服务器只是为了确保所有内容都已清除并重新启动,但仍然无法正常工作.

我正在寻求解决方案的建议和/或指导哪些方面可以更好地诊断问题.我是Jasper的新手,我的Java/Tomcat技能很生疏.

nginx csrf jasperserver

5
推荐指数
1
解决办法
991
查看次数

需要使用JSON传递REST v2 API的Jasper Reports参数的示例

当我查看将参数传递给Jasper Report REST 2 API的文档时:http://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v550/running-report-asynchronously我看到了我需要一个"参数"字典.链接中的示例显示了XML并不是那么有用,因为它不清楚具体的JSON应该是什么样子.我能找到的最接近的链接是:http://community.jaspersoft.com/documentation/jasperreports-server-web-services-guide/v56/modifying-report-parameters.现在,我将相应的内容发送到服务器(以及我能想到的所有其他排列),然后我继续得到"400 Client Error:Bad Request".我真的可以使用python代码的确切示例来生成所需的"参数"参数,例如"my_parameter_1 ="test_value_1".

这是我目前的POST数据(为简洁起见,缺少一些参数).我知道这是正确的,因为如果我省略"参数"参数,报告工作正常:

    {
      'outputFormat': 'pdf', 
      'parameters': [{'name': 'ReportID', 'value': ['my_value_1']}], 
      'async': 'true', 
      'pages': '', 
      'interactive': 'false'
    }
Run Code Online (Sandbox Code Playgroud)

python parameters rest json jasperserver

4
推荐指数
2
解决办法
7332
查看次数