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

Web Services runReport() !!!!!


khsam2001

Recommended Posts

hi

i developp a client webWervices , but my question is :

can i execute a jrxml but not a report ?

because when i do it , i have an exception like " /ContentFiles/jrxml/rapport_exemple is not a valid report"

there is a stacktrace:

java.lang.Exception: 2 - /ContentFiles/jrxml/rapport_exemple is not a valid report
    at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:382)
    at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:299)
    at com.elis.alize.dashboard.support.jasperserver.WSClient.runReport(WSClient.java:99)
    at com.elis.alize.dashboard.support.jasperserver.BaseAbstractJasperServerReport.jgenerate(BaseAbstractJasperServerReport.java:90)
    at java.lang.reflect.Method.invoke(Native Method)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    at $Proxy195.jgenerate(Unknown Source)
    at com.elis.alize.struts.dashboard.support.DashboardAction.onGenerate(DashboardAction.java:181)
    at com.elis.alize.struts.dashboard.support.DashboardAction.onExecute(DashboardAction.java:113)
    at com.elis.alize.struts.support.BaseAlizeAction.execute(BaseAlizeAction.java:286)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:198)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:138)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2459)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:132)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:593)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:593)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:126)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
    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:479)

thanks

Link to comment
Share on other sites

  • Replies 7
  • Created
  • Last Reply

Top Posters In This Topic

hi

i developp a client webWervices in java ,  my question is :

can i execute a jrxml(rapport_exemple) but not a reportUnit  that i specifi a data source and dynamic sql_query ?

i tru to do it but i have an exception like " /ContentFiles/jrxml/rapport_exemple is not a valid report"

public JasperPrint runReport(String reportUri, String query, Map _parameters) throws Exception
    {

       reportUri = " /ContentFiles/jrxml/rapport_exemple"
       ResourceDescriptor rd = new ResourceDescriptor();
       rd.setWsType( ResourceDescriptor.TYPE_TYPE_JRXML);
       rd.setUriString(reportUri);
       rd.setDriverClass("com.sybase.jdbc2.jdbc.SybDriver");
       rd.setConnectionUrl("jdbc:sybase:Tds:192.168.0.5:2500/MyDataBase");
       rd.setUsername("alizedbo");
       rd.setPassword("xxxxxx");
       ResourceProperty rp = new ResourceProperty(ResourceDescriptor.PROP_QUERY);
       rp.setValue( "    SELECT "samir" name, phone_office, billing_address_city,billing_address_street,"

                       +"  billing_address_country"
                       +"  FROM accounts "
                       +"  ORDER BY billing_address_country, billing_address_city");

       rd.setResourceProperty(rp);
       ResourceProperty rp1 = new ResourceProperty(ResourceDescriptor.PROP_QUERY_LANGUAGE);
       rp1.setName(ResourceDescriptor.PROP_QUERY_LANGUAGE);
       rp1.setValue("sql");
      
       rd.setResourceProperty(rp1);
       return server.getWSClient().runReport(rd, _parameters);
    }

 

there is a stacktrace:

 

thanks

Code:
java.lang.Exception: 2 - /ContentFiles/jrxml/rapport_exemple is not a valid report    at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:382)    at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:299)    at com.elis.alize.dashboard.support.jasperserver.WSClient.runReport(WSClient.java:99)    at com.elis.alize.dashboard.support.jasperserver.BaseAbstractJasperServerReport.jgenerate(BaseAbstractJasperServerReport.java:90)    at java.lang.reflect.Method.invoke(Native Method)    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:292)    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)    at $Proxy195.jgenerate(Unknown Source)    at com.elis.alize.struts.dashboard.support.DashboardAction.onGenerate(DashboardAction.java:181)    at com.elis.alize.struts.dashboard.support.DashboardAction.onExecute(DashboardAction.java:113)    at com.elis.alize.struts.support.BaseAlizeAction.execute(BaseAlizeAction.java:286)    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:198)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:138)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2459)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:132)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:593)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:593)    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:126)    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:595)    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:432)    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:954)    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)    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:479)
Link to comment
Share on other sites

thanks for reply

ok, but i have a dynamic query in my java code and when i execute the report he don't this query (note:i have delete the query in jrxml report), where is the problem

my code is :

public JasperPrint runReport(String reportUri, String query, Map _parameters) throws Exception
    {

       ResourceDescriptor rd = new ResourceDescriptor();
       rd.setWsType( ResourceDescriptor.TYPE_TYPE_JRXML);
       rd.setUriString("/ContentFiles/jrxml/rapport_exemple");
       rd.setDriverClass("com.sybase.jdbc2.jdbc.SybDriver");
       rd.setConnectionUrl("jdbc:sybase:Tds:192.168.0.5:2500/MyDataBase");
       rd.setUsername("alizedbo");
       rd.setPassword("xxxxxx");
       ResourceProperty rp = new ResourceProperty(ResourceDescriptor.PROP_QUERY);
       rp.setValue( "    SELECT "khsam" name, phone_office, billing_address_city,billing_address_street,"

                       +"  billing_address_country"
                       +"  FROM accounts "
                       +"  ORDER BY billing_address_country, billing_address_city");

       rd.setResourceProperty(rp);
       ResourceProperty rp1 = new ResourceProperty(ResourceDescriptor.PROP_QUERY_LANGUAGE);
       rp1.setName(ResourceDescriptor.PROP_QUERY_LANGUAGE);
       rp1.setValue("sql");
     
       rd.setResourceProperty(rp1);
       return server.getWSClient().runReport(rd, _parameters);
    }

 

Link to comment
Share on other sites

This is not going to work.

 

  • Create the data source and save it in the repository.
  • Create the JRXML with a parameter for the query string and save it in the repository.
  • Create a report unit. Make the report unit refer to the saved data source. Add an input control for the dynamic query parameter. Save the report unit.
  • Run the report, passing the dynamic query string as a parameter.

 

Sherman

Jaspersoft

Link to comment
Share on other sites

  • 7 months later...

yaroslav
Wrote:

Is it possible to predefine the datasource and set it later in parameter?

No, specifying the data source as a parameter is not supported.

It would be possible only if yould write a data source implementation that delegates to other data sources depending on the value of a parameter.

Regards,

Lucian

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...