Thanks for more info. Trying to find time to setup a test env with your exact procedure.
>> CALL StoreDepartments(id_store); I asked before, but I don't see you mentioning it anywhere. 'StoreDepartments' is called from within 'readShoplistIngredientsSortedByStore'. Could you post a definition of 'StoreDepartments'? Thanks, Andrus > On Apr 22, 2016, at 7:54 AM, Fredrik Widengren <[email protected]> > wrote: > > Hello Andrus, > > I'm now running Cayenne 4.0.M3. > > However, seem like I get the same error on this procedure call. I'm using > some other procedures which work fine. The difference is that they only > return one value which also is declared as OUT parameter. This is also > reflected in the datamap.xml file. > > The procedure I'm tryign to run now returns a list and does not declare any > OUT parameters. The datamap does only contain in parameters. > > I get the error when calling: > QueryResponse result = context.performGenericQuery(query); > > Any ideas? Thanks for the help! > > /Fredrik > > > Stack trace: > INFO: {call readShoplistIngredientsSortedByStore(?, ?)} [bind: 1:0, 2:4] > apr 22, 2016 6:47:02 FM org.apache.cayenne.log.CommonsJdbcEventLogger > logSelectCount > INFO: === returned 0 rows. - took 1 ms. > apr 22, 2016 6:47:02 FM org.apache.cayenne.log.CommonsJdbcEventLogger > logQueryError > INFO: *** error. > java.lang.NullPointerException > at > org.apache.cayenne.dba.mysql.MySQLProcedureAction.processResultSet(MySQLProcedureAction.java:88) > at > org.apache.cayenne.dba.mysql.MySQLProcedureAction.performAction(MySQLProcedureAction.java:71) > at > org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97) > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:306) > at > org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:439) > at > org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:71) > at > org.apache.cayenne.access.DataDomainQueryAction$2.perform(DataDomainQueryAction.java:412) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:53) > at > org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:409) > at > org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121) > at > org.apache.cayenne.access.DataDomain.onQueryNoFilters(DataDomain.java:559) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:730) > at > org.apache.cayenne.tx.TransactionFilter.onQuery(TransactionFilter.java:49) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:730) > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:551) > at > org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:350) > at > org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(ObjectContextQueryAction.java:106) > at > org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:93) > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:985) > at > org.apache.cayenne.access.DataContext.performGenericQuery(DataContext.java:944) > at > controller.PrintController.getSortedIngredients(PrintController.java:168) > at controller.PrintController.setLocalObject(PrintController.java:91) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at org.apache.el.parser.AstValue.invoke(AstValue.java:278) > at > org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) > at > org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) > at > org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) > at > com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) > at > javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) > at > com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) > at javax.faces.component.UIViewAction.broadcast(UIViewAction.java:559) > at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) > at > com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) > at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) > at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > > catch exception > org.apache.cayenne.CayenneRuntimeException: [v.4.0.M3 Feb 08 2016 17:09:41] > Query exception. > at > org.apache.cayenne.access.DataDomainQueryAction.nextQueryException(DataDomainQueryAction.java:582) > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:312) > at > org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:439) > at > org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:71) > at > org.apache.cayenne.access.DataDomainQueryAction$2.perform(DataDomainQueryAction.java:412) > at > org.apache.cayenne.tx.DefaultTransactionManager.performInTransaction(DefaultTransactionManager.java:53) > at > org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:409) > at > org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121) > at > org.apache.cayenne.access.DataDomain.onQueryNoFilters(DataDomain.java:559) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:730) > at > org.apache.cayenne.tx.TransactionFilter.onQuery(TransactionFilter.java:49) > at > org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:730) > at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:551) > at > org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:350) > at > org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(ObjectContextQueryAction.java:106) > at > org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:93) > at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:985) > at > org.apache.cayenne.access.DataContext.performGenericQuery(DataContext.java:944) > at > controller.PrintController.getSortedIngredients(PrintController.java:168) > at controller.PrintController.setLocalObject(PrintController.java:91) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at org.apache.el.parser.AstValue.invoke(AstValue.java:278) > at > org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) > at > org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) > at > org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) > at > com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) > at > javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) > at > com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) > at javax.faces.component.UIViewAction.broadcast(UIViewAction.java:559) > at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) > at > com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) > at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) > at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:722) > Caused by: java.lang.NullPointerException > at > org.apache.cayenne.dba.mysql.MySQLProcedureAction.processResultSet(MySQLProcedureAction.java:88) > at > org.apache.cayenne.dba.mysql.MySQLProcedureAction.performAction(MySQLProcedureAction.java:71) > at > org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:97) > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:306) > ... 55 more > End of setLocalObject > > 2016-04-20 6:10 GMT+02:00 Fredrik Widengren <[email protected]>: > >> Hello Andrus, >> Thanks for trying to help out. I'm using MariaDB >> (10.1.12-MariaDB-1~trusty), (org.mariadb.jdbc.Driver, JAR file >> mariadb-java-client-1.2.0.jar). >> >> I can check Cayenne version 4.0.M3 also. >> >> /Fredrik >> >> Here's the stored procedure I try to call. >> >> CREATE DEFINER=`foodbase_admin`@`localhost` PROCEDURE >> `readShoplistIngredientsSortedByStore`(IN `id_shoplist` INT, IN `id_store` >> INT) >> NO SQL >> BEGIN >> >> CALL StoreDepartments(id_store); >> >> SELECT departments.Name AS Department, shoppinglist_items.Amount AS >> Amount, units.Name AS Unit, groceries.Name AS Groceries >> FROM shoppinglist_items >> JOIN groceries ON >> groceries.ID=shoppinglist_items.ID_groceries >> JOIN storedepartmentsorder ON >> groceries.ID_departments=storedepartmentsorder.ID_departments >> JOIN units ON >> units.ID=shoppinglist_items.ID_units >> JOIN departments ON >> departments.ID=groceries.ID_departments >> WHERE shoppinglist_items.ID_shoppinglists=id_shoplist >> ORDER BY storedepartmentsorder.deptorder, groceries.Name >> ; >> >> END >> >> >> >> 2016-04-19 9:12 GMT+02:00 Andrus Adamchik <[email protected]>: >> >>> Hi Fredrik, >>> >>> Sorry for late reply. So from the stack trace this is Cayenne 3.1: >>> >>> >>> https://github.com/apache/cayenne/blob/STABLE-3.1/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/dba/mysql/MySQLProcedureAction.java#L101 >>> >>> Interesting ... So Cayenne thinks there's a ResultSet, while there's >>> none. We have a very similar stored procedure in Cayenne unit tests and it >>> works fine on MySQL. >>> >>> Wondering what version of MySQL you are using? And can you also post the >>> contents of "StoreDepartments" procedure? Perhaps I'll be able to reproduce. >>> >>> Also would it be possible for you to try it with Cayenne 4.0.M3? >>> >>> Andrus >>> >>> >>>> On Apr 14, 2016, at 11:17 PM, Fredrik Widengren < >>> [email protected]> wrote: >>>> >>>> Hello, >>>> >>>> I'm trying to launch a stored procedure which is returning rows with a >>> number of columns. >>>> >>>> I try to follow the documentation but don't understand why I get these >>> errors. >>>> >>>> As you can see, the text "After query" is not printed in the log. Which >>> I then assume mean that something goes wrong in the store procedure. >>>> >>>> When running the stored procedure from myPhpAdmin I get correct result >>> (see attached image) >>>> >>>> >>>> If someone have some ideas, please share them. >>>> >>>> Many thanks, >>>> Fredrik >>>> ------------------------------------------------------------ >>>> data map contains the following: >>>> <procedure name="readShoplistIngredientsSortedByStore" >>> catalog="foodbase"> >>>> <procedure-parameter name="id_shoplist" type="INTEGER" >>> direction="in"/> >>>> <procedure-parameter name="id_store" type="INTEGER" >>> direction="in"/> >>>> </procedure> >>>> >>>> >>>> The stored procedure looks like this: >>>> CREATE DEFINER=`foodbase_admin`@`localhost` PROCEDURE >>> `readShoplistIngredientsSortedByStore`(IN `id_shoplist` INT, IN `id_store` >>> INT) >>>> NO SQL >>>> BEGIN >>>> >>>> CALL StoreDepartments(id_store); >>>> >>>> SELECT departments.Name AS Department, shoppinglist_items.Amount AS >>> Amount, units.Name AS Unit, groceries.Name AS Groceries >>>> FROM shoppinglist_items >>>> JOIN groceries ON >>>> groceries.ID=shoppinglist_items.ID_groceries >>>> JOIN storedepartmentsorder ON >>>> groceries.ID_departments=storedepartmentsorder.ID_departments >>>> JOIN units ON >>>> units.ID=shoppinglist_items.ID_units >>>> JOIN departments ON >>>> departments.ID=groceries.ID_departments >>>> WHERE shoppinglist_items.ID_shoppinglists=id_shoplist >>>> ORDER BY storedepartmentsorder.deptorder, groceries.Name >>>> ; >>>> >>>> END >>>> >>>> >>>> Java code: >>>> >>>> @SuppressWarnings("unchecked") >>>> public String getSortedIngredients() { >>>> try { >>>> System.out.println("get sorted ingred...."); >>>> System.out.println("Store ID.............."+storeID); >>>> >>>> ProcedureQuery query = new >>> ProcedureQuery("readShoplistIngredientsSortedByStore"); >>>> >>>> query.addParameter("id_shoplist", >>> activeShoppingList.getId()); >>>> query.addParameter("id_store", storeID); >>>> >>>> System.out.println("before query..."); >>>> >>>> // run query >>>> QueryResponse result = context.performGenericQuery(query); >>>> System.out.println("After query"); >>>> >>>> >>>> for (result.reset(); result.next();) { >>>> if (result.isList()) { >>>> shoppinglistItems = (List<ShoppinglistItems>) >>> result.currentList(); >>>> // ... >>>> >>>> } >>>> else { >>>> int[] updateCounts = result.currentUpdateCount(); >>>> // ... >>>> } >>>> } >>>> } catch (Exception e) { >>>> System.out.println("catch exception"); >>>> e.printStackTrace(); >>>> } >>>> >>>> return null; >>>> } >>>> >>>> >>>> Tomcat log: >>>> >>>> get sorted ingred.... >>>> Store ID..............2 >>>> before query... >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logConnect >>>> INFO: Opening connection: jdbc:mariadb://127.0.0.1:3306/foodbase >>>> Login: foodbase_admin >>>> Password: ******* >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logConnectSuccess >>>> INFO: +++ Connecting: SUCCESS. >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> log >>>> INFO: Detected and installed adapter: >>> org.apache.cayenne.dba.mysql.MySQLAdapter >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logBeginTransaction >>>> INFO: --- transaction started. >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logQuery >>>> INFO: {call readShoplistIngredientsSortedByStore(?, ?)} [bind: 1:1006, >>> 2:2] >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logSelectCount >>>> INFO: === returned 18 rows. - took 2 ms. >>>> apr 14, 2016 9:43:06 EM org.apache.cayenne.log.CommonsJdbcEventLogger >>> logQueryError >>>> INFO: *** error. >>>> java.lang.NullPointerException >>>> at >>> org.apache.cayenne.dba.mysql.MySQLProcedureAction.processResultSet(MySQLProcedureAction.java:101) >>>> at >>> org.apache.cayenne.dba.mysql.MySQLProcedureAction.performAction(MySQLProcedureAction.java:74) >>>> at >>> org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87) >>>> at >>> org.apache.cayenne.access.DataNode.performQueries(DataNode.java:280) >>>> at >>> org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:453) >>>> at >>> org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:70) >>>> at >>> org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:426) >>>> at >>> org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:877) >>>> at >>> org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:423) >>>> at >>> org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:122) >>>> at >>> org.apache.cayenne.access.DataDomain.onQueryNoFilters(DataDomain.java:758) >>>> at >>> org.apache.cayenne.access.DataDomain$DataDomainQueryFilterChain.onQuery(DataDomain.java:1009) >>>> at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:748) >>>> at >>> org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:350) >>>> at >>> org.apache.cayenne.util.ObjectContextQueryAction.executePostCache(ObjectContextQueryAction.java:106) >>>> at >>> org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:93) >>>> at >>> org.apache.cayenne.access.DataContext.onQuery(DataContext.java:989) >>>> at >>> org.apache.cayenne.access.DataContext.performGenericQuery(DataContext.java:948) >>>> at >>> controller.PrintController.getSortedIngredients(PrintController.java:101) >>>> at >>> controller.PrintController.setLocalObject(PrintController.java:71) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> at java.lang.reflect.Method.invoke(Method.java:601) >>>> at org.apache.el.parser.AstValue.invoke(AstValue.java:278) >>>> at >>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274) >>>> at >>> org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40) >>>> at >>> org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) >>>> at >>> com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) >>>> at >>> javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87) >>>> at >>> com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) >>>> at >>> javax.faces.component.UIViewAction.broadcast(UIViewAction.java:559) >>>> at >>> javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790) >>>> at >>> javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282) >>>> at >>> com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) >>>> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) >>>> at >>> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198) >>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646) >>>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) >>>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >>>> at >>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >>>> at >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) >>>> at >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) >>>> at >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) >>>> at >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) >>>> at >>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) >>>> at >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) >>>> at >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) >>>> >>> >>> >>
