Jump to content
We've recently updated our Privacy Statement, available here ×

jholden699

Members
  • Posts

    28
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Posts posted by jholden699

  1. No replies, so I thought I'd just post my workaround. I imagine this is not possible partly because of the fact that Jasper won't know what to do with the PDF if you're not RENDERING as a PDF (although my workaround could be incorporated easily to overcome this!).

     

    My workaround: Using the PDF Renderer library (and an example found at http://blog.rubypdf.com/2008/01/30/pdftoimage-convert-pdf-to-image-by-using-pdfrenderer-library/source-code-of-pdf2image/) I actually save the pages of the PDF as PNG image files as a varbinary(max) field to the database. In the Jasper report, I load in this field as a java.awt.Image object. I can then insert an image, cancel out when iReport asks which file, and set the expression for my Image object to be my field loaded. It works - not very elegant, but it works.

     

  2.  I found a couple of related posts but no answers....

    We are using Jasper 4.5 (enterprise actually).  For one of the reports we run, we have the need to include supporting documentation, which will be stored in our Database in the form of varbinary(max) data (SQL 2008).

    I can easily whip up a simple Java program to read the data from the DB and write to a file that I can then view as a PDF.

    So - how can I include this PDF inline in the report I am generating (which will also be a PDF)?  Is this possible?

  3. We are heavy users of Jasper Server - actually we use professional edition.  We use the server for scheduled reports, and for on-the-fly report generation via URL.  

    One of our applications uses the SAME report, over and over, thousands of times a day.  I believe, for performance reasons, that I will benefit from filling (and auto printing) this report from within my application.  To do so, I need to download the JRXML to my application.

    I thought a simple REST URL like this would work:

    http://<myserverpath>/rest/resource/<path_to_my_report>?fileData=true

    But it requires authentication.  So I added on the ID and password:

    http://<myserverpath>/rest/resource/<path_to_my_report>?fileData=true&j_username=<valid_ID>&j_password=<valid_password>

    However the latter gives me an HTTP 401 error.

    If I log in to the Jasper server manually, using the ID and password from the second example, then go to the URL in the first, it works fine.

    Ideas on how I do this from my code?  Do I need to get fancy and use HTTP Posts or can I use a simple REST URL?

     

     

  4. Did you ever get an answer or a reasonable reference? I am coming back to this question now, and the documentation is horrific. One set says to use one API, one says a different one, there's not a single example to be found, and even the documentation itself refers to JARs that don't exist...
  5. We use AD for authentication.  You have to be careful about your config...in the bean below, I had to add the line that is notated by the comment (the baseEnvironmentProperties):

       <bean id="ldapContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
         <constructor-arg value="ldap://xxxxxx.xxxx:xxx/dc=xxxxxxx,dc=xxx"/>

          <property name="userDn"><value>CN=xxxxxxx,CN=Users,DC=xxxxxxxx,DC=com</value></property>
         <property name="password"><value>xxxxxxxxxx</value></property>
         <!-- JH JH ADDED TO MAKE IT AUTHENTICATE PROPERLY -->
        <property name="baseEnvironmentProperties">
            <map>
                <entry key="java.naming.referral">
                <value>follow</value>
            </entry>
            </map>
        </property>
       </bean>
     

    I think the rest I just uncommented and set up the proper DC values.

  6. Just wondering if you're having the same problem we are.  In our case, reports are generated by Jasper Server and emailed out - however the LINKS cannot be opened if IE is the default browser. 

     

    Our workaround, since we have yet to find a solution, is to attach the actual files.  Obviously this is not a particularly good solution, but it works for now.

     

      - Jack

  7. Hi all -

    We currently have several reports that get hit thousands of times a day, automatically, using a URL (which of course includes the ID and password) to generate a PDF that is then auto printed.  The problem is, this causes sessions to get created forever, resulting in out of memory issues.

    I believe - as so far indicated in support emails with JasperSoft - that Web Services might be the way to go.  I'm wondering if anyone has a simple example of a Java Web Service client executing a report on JasperServer, preferably to a PDF format?

    Or, alternatively, if there's some way to run these reports (again, literally thousands a day) without creating a session, or expiring it immediately?

    Thanks a lot.

     

       - Jack

  8. Hi all -

    This seems to be a fairly new problem and I can't figure out the cause.  This may be because we just migrated from CE 3.5 to PE 3.7.

    We have a bunch of scheduled reports that run and send emails with the links to the file that got generated.  Those of us with Firefox as a default browser have no issue.  Those with IE (most users in our company) cannot open the links - even if the link is copy-and-pasted into the IE address bar!  Even weirder...if, for instance, you copy and paste the URL to a PDF document in IE, it hangs and does nothing...if you click into the address and hit enter a second time, it works fine!  This ONLY happens to documents being served from Jasper Server...this is the bundled installation (though we have set up MySQL and Jasper to run as Windows services).

    Any ideas?  Seems like a trivial thing to have to waste one of our support calls on...

    Thank you.

       - Jack

  9. I've posted this before but never got a good, clear response.  We currently have JasperServer (3.1, will be 3.5 next week) which has DataSources set up to several different SQL Server databases.  I want to build a report that does a join across multiple databases.

    We've tried a couple of things:

    • built a view in the main database that does the joining.  This works fine in Enterprise Manager and query analyzer, but JasperServer fails to execute queries against this view even though it's hitting only 1 database directly.
    • Built SQL functions that do something similar to the views, with the same result.
    • Built a sub report that hits the second database using parameters from the parent report.  However there doesn't appear to be a way to tell the sub report to use a different JDBC connection from the repository.

    Thank you.

       - Jack

     

  10. I think I had a similar problem, though not from rails.  If I'm reading your question right - make sure you don't have "always prompt" checked off in Jasper Server for your input controls.  I think removing that fixed the problem for me.

     

      - Jack

  11. Does anyone have any best practices for version control of JRXML files that are living within a Jasper Server environment?  We have recently started building more JS-based reports, and mostly editing them directly from the JS plugin within iReport.  While backing up of the server itself will ensure we don't lose the reports, we're a development shop and would like to put the reports under version control if possible.

     

    Of course we can always put them into our CVS repository along with code, documentation, etc but then we have to remember to edit from there rather than through the plugin.

     

    Are there any suggestions or best practices out there?

     

      - Jack

  12. I'm not sure if this belongs here or in an iReport/Jasper forum but since this will ultimately be on JasperServer this should work...

    I would like to make a report that queries from one database connection, then uses information from that query as a parameter to a subreport querying off of a different connection.  The sub report runs fine independently, but when added to the parent report, it doesn't do anything at all.  I think it's because it's not getting the right connection.

    Is there any way to accomplish this?

  13. We're in the early stages of running JasperServer 3.1 community Edition, and I've gotten the first reports scheduled.  Now, however, I have a report that I'd like to schedule and email out during certain hours (specifically, 6PM-5AM).  Obviously I can do this with a dozen individual hourly reports, but is there an easier way to do this as a recurring report hourly but limited to those hours?

    Thank you!

       - Jack

  14. I'm running JS 3.1 installed with the installer package.  We were working on some reports that will get accessed via URLs, and I had the URLs working correctly using this format:
     

    This URL worked fine.  Next I rearranged all of the directories in the JS UI (see attachment).  This was to allow users to log in (also configured authentication against Active Directory, which works fine) and only see their own reports.  I did come across the (bug?) permissioning problem where users must have read permissions on components within a report and got past it.

    Now I have 5 reports in my /DEVELOPMENT/DispatchReports/ path.  Some of these reports have subreports, and I've modified the JRXML with the "repo" notation (is there a good way to do this?).  However after the whole rearrangement I just spoke of, I get the NullPointerException shown below and have no idea why.  My new URL is:
     

    http://jasper:8080/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=/DEVELOPMENT/DispatchReports/EventInstructionsSummary&j_username=user&j_password=pass&output=pdf&eventNumber=E453394
     

    I even tried a simple report, no subreports, with a trivial query and get the same error.  I cannot eliminate the parameters or even the user ID and password from the URL - which I thought would at least take me to the logon screen - because I get the same error.  Can anyone help?

    The stack trace is:

    java.lang.NullPointerException

    java.lang.NullPointerException	at com.jaspersoft.jasperserver.war.action.ViewReportAction.checkForParams(ViewReportAction.java:143)	at sun.reflect.GeneratedMethodAccessor528.invoke(Unknown Source)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)	at java.lang.reflect.Method.invoke(Method.java:585)	at org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:103)	at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:136)	at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:203)	at org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:142)	at org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:61)	at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:180)	at org.springframework.webflow.engine.State.enter(State.java:200)	at org.springframework.webflow.engine.Flow.start(Flow.java:557)	at org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:195)	at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:189)	at org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:206)	at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)	at java.lang.reflect.Method.invoke(Method.java:585)	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)	at org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)	at $Proxy13.launch(Unknown Source)	at org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:131)	at org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:170)	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)	at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)	at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)	at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)	at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)	at java.lang.Thread.run(Thread.java:595)

     



    Post Edited by Jack Holden at 12/23/08 21:35
  15. I'm looking for a confirmation on the PROPER way to handle subreports between iReport and JasperServer.

    In iReport a variable is created called SUBREPORT_DIR.  However it doesn't seem possible to use this value in JasperServer?  From what I've found in the forums, it seems the ONLY way to do this is to manually modify the key "subreportExpression" in the JRXML file to take a value of "repo:<path>/<to>/<subreports>/<subreport>"

    Is this correct?  With the power of iReport and JasperServer this seems awfully hokey to me, and highly likely to break as well.  Can anyone point me to some better way, or confirm that this is how it's done?

    Thank you!

    Regards,

    Jack



    Post Edited by Jack Holden at 12/17/08 16:27
×
×
  • Create New...