Message Boards
Unable to interpret notification in Liferay 7.2.1 CE GA2
ali yeganeh, modified 4 Years ago.
Unable to interpret notification in Liferay 7.2.1 CE GA2
Regular Member Posts: 148 Join Date: 5/1/19 Recent Posts
Hi
I override getURLEditWorkflowTask() method of BaseWorkflowHandler class for redirect notification URL that generated by workflow and worked correctly in liferay 7.1
But i migrate from liferay 7.1 to Liferay 7.2.1 CE GA2 and I encountered the following exception
why?
I override getURLEditWorkflowTask() method of BaseWorkflowHandler class for redirect notification URL that generated by workflow and worked correctly in liferay 7.1
But i migrate from liferay 7.1 to Liferay 7.2.1 CE GA2 and I encountered the following exception
why?
2019-11-24 14:01:53.349 ERROR [http-nio-8080-exec-3][BaseUserNotificationHandler:88] Unable to interpret notification
java.lang.NullPointerException
at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasAssetViewPermission(WorkflowTaskPermissionChecker.java:169)
at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasPermission(WorkflowTaskPermissionChecker.java:54)
at com.liferay.portal.workflow.task.web.internal.notifications.WorkflowTaskUserNotificationHandler._hasPermission(WorkflowTaskUserNotificationHandler.java:143)
at com.liferay.portal.workflow.task.web.internal.notifications.WorkflowTaskUserNotificationHandler.getLink(WorkflowTaskUserNotificationHandler.java:98)
at com.liferay.portal.kernel.notifications.BaseUserNotificationHandler.doInterpret(BaseUserNotificationHandler.java:149)
at com.liferay.portal.kernel.notifications.BaseUserNotificationHandler.interpret(BaseUserNotificationHandler.java:57)
at com.liferay.portal.kernel.notifications.UserNotificationManagerUtil._interpret(UserNotificationManagerUtil.java:294)
at com.liferay.portal.kernel.notifications.UserNotificationManagerUtil.interpret(UserNotificationManagerUtil.java:110)
at org.apache.jsp.notifications.view_jsp._jspService(view_jsp:387)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:369)
at com.liferay.portal.osgi.web.servlet.jsp.compiler.internal.JspServlet.service(JspServlet.java:381)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
at com.liferay.portlet.internal.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:291)
at com.liferay.portlet.internal.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:123)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.include(MVCPortlet.java:592)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.include(MVCPortlet.java:608)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doView(MVCPortlet.java:176)
at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:286)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.doDispatch(MVCPortlet.java:485)
at javax.portlet.GenericPortlet.render(GenericPortlet.java:291)
at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.render(MVCPortlet.java:316)
at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:127)
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:58)
at com.liferay.portlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:124)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:71)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:120)
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
at com.liferay.portlet.internal.InvokerPortletImpl.invoke(InvokerPortletImpl.java:589)
at com.liferay.portlet.internal.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:682)
at com.liferay.portlet.internal.InvokerPortletImpl.render(InvokerPortletImpl.java:362)
at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.lambda$render$0(MonitoringInvokerPortlet.java:277)
at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet._render(MonitoringInvokerPortlet.java:380)
at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.render(MonitoringInvokerPortlet.java:275)
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(Unknown Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:64)
at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:201)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
at com.liferay.portal.servlet.TransferHeadersHelperImpl$TransferHeadersRequestDispatcher.include(TransferHeadersHelperImpl.java:162)
at com.liferay.portlet.internal.PortletContainerImpl._render(PortletContainerImpl.java:908)
at com.liferay.portlet.internal.PortletContainerImpl.lambda$render$2(PortletContainerImpl.java:225)
at com.liferay.portlet.internal.PortletContainerImpl._preserveGroupIds(PortletContainerImpl.java:425)
at com.liferay.portlet.internal.PortletContainerImpl.render(PortletContainerImpl.java:213)
at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:144)
at com.liferay.portlet.RestrictPortletContainerWrapper.lambda$render$0(RestrictPortletContainerWrapper.java:128)
at com.liferay.portlet.RestrictPortletContainerWrapper._render(RestrictPortletContainerWrapper.java:189)
at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:215)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:209)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer.render(PortletRenderer.java:87)
at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.doProcessTemplate(RuntimePageImpl.java:593)
at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.doDispatch(RuntimePageImpl.java:359)
at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.processTemplate(RuntimePageImpl.java:160)
at com.liferay.portal.layoutconfiguration.util.RuntimePageImpl.processTemplate(RuntimePageImpl.java:185)
at com.liferay.portal.kernel.layoutconfiguration.util.RuntimePageUtil.processTemplate(RuntimePageUtil.java:105)
at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(Unknown Source)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:64)
at com.liferay.portal.servlet.DirectRequestDispatcherFactoryImpl$IndirectRequestDispatcher.include(DirectRequestDispatcherFactoryImpl.java:201)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:79)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
at com.liferay.portal.servlet.TransferHeadersHelperImpl$TransferHeadersRequestDispatcher.include(TransferHeadersHelperImpl.java:162)
at com.liferay.portal.model.impl.LayoutTypeControllerImpl.includeLayoutContent(LayoutTypeControllerImpl.java:171)
at com.liferay.portal.model.impl.LayoutImpl.includeLayoutContent(LayoutImpl.java:883)
at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:412)
at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:170)
at com.liferay.portal.struts.PortalRequestProcessor._process(PortalRequestProcessor.java:415)
at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:155)
at com.liferay.portal.internal.servlet.MainServlet.doGet(MainServlet.java:205)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at com.liferay.portal.internal.servlet.MainServlet.service(MainServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:357)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at com.liferay.friendly.url.internal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:409)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at com.liferay.portal.servlet.ServletAdapter.service(ServletAdapter.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:124)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:368)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.servlet.filters.password.modified.PasswordModifiedFilter.processFilter(PasswordModifiedFilter.java:62)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:357)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:264)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:268)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:147)
at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:182)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389)
at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:65)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:215)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:175)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:196)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:99)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:104)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Olaf Kock, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Liferay Legend Posts: 6403 Join Date: 9/23/08 Recent Postsali yeganeh:
Pardon the pun:
Hi
I override getURLEditWorkflowTask() method of BaseWorkflowHandler class for redirect notification URL that generated by workflow and worked correctly in liferay 7.1
But i migrate from liferay 7.1 to Liferay 7.2.1 CE GA2 and I encountered the following exception
why?2019-11-24 14:01:53.349 ERROR [http-nio-8080-exec-3][BaseUserNotificationHandler:88] Unable to interpret notification java.lang.NullPointerException at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasAssetViewPermission(WorkflowTaskPermissionChecker.java:169) at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasPermission(WorkflowTaskPermissionChecker.java:54) ...
So you changed something (which is not part of this stacktrace) in a nondisclosed way, and upon nondisclosed action, you see the pasted effect (e.g. stacktrace).
Even without following those "steps to reproduce" (which I paraphrased in italics), I'm assuming that I won't be able to reproduce the same effect. Or, in other words: Until further demonstration I'd say that most likely "something" is wrong...
ali yeganeh, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Regular Member Posts: 148 Join Date: 5/1/19 Recent Posts
Hi dear Olaf
I attached my WorkflowHandler class
When I comment the whole my WorkflowHandler class and then refresh the notification screen, I don't get any exception and can see my notification!!! ( I attached the before and after photo )
but i need this class for update Status and get URL Edit Workflow Task
When i migrate from liferay 7.1 to Liferay 7.2.1 CE GA2 i encountered the following exception
I attached my WorkflowHandler class
When I comment the whole my WorkflowHandler class and then refresh the notification screen, I don't get any exception and can see my notification!!! ( I attached the before and after photo )
but i need this class for update Status and get URL Edit Workflow Task
When i migrate from liferay 7.1 to Liferay 7.2.1 CE GA2 i encountered the following exception
Olaf Kock, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Liferay Legend Posts: 6403 Join Date: 9/23/08 Recent Postsali yeganeh:
Thanks, that's some substance. I've crosschecked with this documentation chapter and a couple of default implementations, and didn't find anything suspect. I've not implemented such a handler myself, so I'm leaving the field for someone who did, and who might remember if there were any changes in this version.
I attached my WorkflowHandler class
One more hint though: The linked documentation chapter also asks for some implementation in LocalServiceImpl - I take it that you did this already (just in case this changed in the last version), otherwise you might want to go through that chapter.
Edit: And one more hint: Looking at the sourcecode where the NullpointerException is triggered: Do you have an AssetRenderer for this entity? Is it properly registered? E.g. can you show it in AssetPublisher when there's no workflow involved?
try {
AssetRenderer<!--?--> assetRenderer = workflowHandler.getAssetRenderer(
classPK);
return assetRenderer.hasViewPermission(permissionChecker); // this is line 169
}
catch (PortalException pe) {
_log.error(pe, pe);
}
ali yeganeh, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Regular Member Posts: 148 Join Date: 5/1/19 Recent Posts
Hi dear Olaf Kock
I found out where the problem is...
When i log in with an administrator user i can see my notifications but if I log in with a regular user, I get an exception
I found out where the problem is...
When i log in with an administrator user i can see my notifications but if I log in with a regular user, I get an exception
2019-12-03 09:51:39.910 ERROR [http-nio-8080-exec-4][BaseUserNotificationHandler:88] Unable to interpret notification
java.lang.NullPointerException
at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasAssetViewPermission(WorkflowTaskPermissionChecker.java:169)
at com.liferay.portal.workflow.task.web.internal.permission.WorkflowTaskPermissionChecker.hasPermission(WorkflowTaskPermissionChecker.java:59)
at com.liferay.portal.workflow.task.web.internal.notifications.WorkflowTaskUserNotificationHandler._hasPermission(WorkflowTaskUserNotificationHandler.java:143)
at com.liferay.portal.workflow.task.web.internal.notifications.WorkflowTaskUserNotificationHandler.getLink(WorkflowTaskUserNotificationHandler.java:98)
at com.liferay.portal.kernel.notifications.BaseUserNotificationHandler.doInterpret(BaseUserNotificationHandler.java:149)
at com.liferay.portal.kernel.notifications.BaseUserNotificationHandler.interpret(BaseUserNotificationHandler.java:57)
at com.liferay.portal.kernel.notifications.UserNotificationManagerUtil._interpret(UserNotificationManagerUtil.java:294)
at com.liferay.portal.kernel.notifications.UserNotificationManagerUtil.interpret(UserNotificationManagerUtil.java:110)
at org.apache.jsp.notifications.view_jsp._jspService(view_jsp:387)
...
How can i assign view permission to users for see their notification programmatically
ali yeganeh, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Regular Member Posts: 148 Join Date: 5/1/19 Recent Posts
ali yeganeh, modified 4 Years ago.
RE: Unable to interpret notification in Liferay 7.2.1 CE GA2
Regular Member Posts: 148 Join Date: 5/1/19 Recent Posts
Hi
I asked a better question about Unable to interpret notification in Liferay 7.2.1 CE GA2 in a new post .
I asked a better question about Unable to interpret notification in Liferay 7.2.1 CE GA2 in a new post .