Exie Posted June 14, 2009 Share Posted June 14, 2009 Hi,We had a small incident where we lost out JasperServer 3.0, so I installed a fresh 3.5 and have set about re-publishing all our reports/cubes etc.So far its working fine, until I published a report, and its not working. It has an MDX query in it, and the problem seems to be with using Descendants() heres the ROW's clause: NON EMPTY {Descendants([CustomerProduct].[All CustomerProducts], 2.0) } ON ROWS If I take out decendants and just use [CustomerProduct].[All CustomerProducts].Children the query runs, but with Decendants, I get:javax.servlet.jsp.el.ELException: An error occurred while getting property "result" from an instance of class com.tonbeller.jpivot.tags.OlapModelProxy at org.apache.commons.el.Logger.logError(Logger.java:484) at org.apache.commons.el.Logger.logError(Logger.java:588) at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:318) at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263) at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:917) at org.apache.jsp.WEB_002dINF.jsp.olap.viewOlap_jsp._jspx_meth_c_if_5(viewOlap_jsp.java:2556) at org.apache.jsp.WEB_002dINF.jsp.olap.viewOlap_jsp._jspService(viewOlap_jsp.java:408) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) 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.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) Has the syntax changed ? is the method obsolete ? Link to comment Share on other sites More sharing options...
swood Posted June 30, 2009 Share Posted June 30, 2009 The Descendants function works, for example: SELECT[Measures].AllMembers ON COLUMNS,non empty {Descendants([store].[All Stores].[uSA].[CA], 1.0)} ON ROWSFROM [sales] The braces { } on the ROWS clause are not needed. There is a bug in 3.5 where changes in the underlying schema were not being picked up. If you restart the server, and try it again, is there still a problem? ShermanJaspersoft Link to comment Share on other sites More sharing options...
Exie Posted July 15, 2009 Author Share Posted July 15, 2009 Hi, I removed the braces {} but it still crashes as before. Again, if I remove the Descendants() function, it runs correctly. Here's the full MDX if that helps: Code: Just an update.... that same MDX runs fine within iReport 3.0.0, just not on Jasper. Something must have changed between 3.0 and 3.5 to break it. Post Edited by Exie at 07/15/2009 06:22 Link to comment Share on other sites More sharing options...
Exie Posted July 21, 2009 Author Share Posted July 21, 2009 Just an update, a different view of the same problem looks like: org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: mondrian.olap.fun.DescendantsFunDef.addAll(Ljava/util/List;[Ljava/lang/Object;)V org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:860) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755) By my basic java skills... mondrian.olap.fun.DescendantsFunDef.addAll seems to be where the problem is ... NoSuchMethodError means something is different. At any rate, our organisation is about to drop JS + JA, so it doesnt matter for us. But this may be a problem for other people out there.Post Edited by Exie at 07/21/2009 01:23 Link to comment Share on other sites More sharing options...
swood Posted July 22, 2009 Share Posted July 22, 2009 You should use JS/JA Pro 3.5.1 and the corresponding iReport. Using iReport 3.0 with JS/JA Pro 3.5.0 is not guaranteed to work, due to incompatible Mondrian versions. ShermanJaspersoft Link to comment Share on other sites More sharing options...
Exie Posted August 6, 2009 Author Share Posted August 6, 2009 Good tip.We've since bailed out of the whole 3.5.x stream. It caused us no end of pain with compatibility problems and other bugs.Without been dramatic, it's cost us a significant amount of money. I wouldnt reccomend anyone go near these versions to be honest. It's quite a worry in fact, as JS was such a good product and has so much promise. If they cant build it right and make it reliable and stable it could spell trouble for its future.The timing is probably the most unfortunate thing for us as we were building our strategic IT plan going forward and JS/JA is now omitted. Its considered too etcentric for us, been too expensive and difficult to work with for very little benefit.I hope others have more success than us! 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