khsam2001 Posted January 8, 2009 Share Posted January 8, 2009 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 More sharing options...
khsam2001 Posted January 9, 2009 Author Share Posted January 9, 2009 hii 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: thanksCode: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 More sharing options...
lucianc Posted January 9, 2009 Share Posted January 9, 2009 khsam2001Wrote: can i execute a jrxml but not a report ? No, the runReport web service operation only works with report units.Regards,Lucian Link to comment Share on other sites More sharing options...
khsam2001 Posted January 9, 2009 Author Share Posted January 9, 2009 thanks for replyok, 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 problemmy 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 More sharing options...
swood Posted January 14, 2009 Share Posted January 14, 2009 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. ShermanJaspersoft Link to comment Share on other sites More sharing options...
yaroslav Posted September 3, 2009 Share Posted September 3, 2009 Is it possible to predefine the datasource and set it later in parameter? I have a few databases and I want run one report unit on different databases. I use PHP and SOAP to execute report unit.Post Edited by yaroslav at 09/03/2009 19:02 Link to comment Share on other sites More sharing options...
lucianc Posted September 7, 2009 Share Posted September 7, 2009 yaroslavWrote: 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 More sharing options...
hadanmarv Posted January 26, 2011 Share Posted January 26, 2011 Hi,I'm interest on your solution but could it be possible to have an example ?Thanks in advance,Regards, Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now