本文介绍了尝试“加载更多"时抛出NoAccessSignal异常.在“移动控件"视图中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个运行在8.5.3 UP1上且带有移动控件界面的XPages应用程序.在我的开发和测试服务器上,它可以正常工作,但是在生产环境中,当用户单击视图控件中的加载更多"按钮时,会看到以下间歇性错误:

I have an XPages app running on 8.5.3 UP1 with a mobile controls interface. It works fine on my dev and test servers, but in production we're seeing the following intermittent error when a user clicks the "Load More" button in the view control:

12/10/5下午4:12:引发异常com.ibm.xsp.acl.NoAccessSignal 在com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611) 在com.ibm.domino.xsp.module.nsf.NotesContext.serverProcessSignedResource(NotesContext.java:955) 在com.ibm.domino.xsp.module.nsf.NotesContext.setSignerSessionRights(NotesContext.java:926) 在com.ibm.domino.xsp.module.nsf.ModuleClassLoader $ DynamicClassLoader.loadClass(ModuleClassLoader.java:349) 在java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:171) 在java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在com.ibm.designer.runtime.Application.loadClass(Application.java:708) 在com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(ApplicationFacesClassLoader.java:54) 在com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:166) 位于com.ibm.xsp.page.compiled.CompiledPageDriver.loadPage(CompiledPageDriver.java:61) 在com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:489) 在com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:557) 在com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:141) 在com.ibm.xsp.application.ViewHa ndlerEx.createView(ViewHandlerEx.java:90) 在com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:238) 在com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200) 在com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 在com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137) 在com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) 在com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 在com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267) 在com.ibm.designer.runtime.domino.adapter.ComponentModule $ AdapterInvoker.invokeServlet(ComponentModule.java:847) 在com.ibm.designer.runtime.domino.adapter.ComponentModule $ ServletInvoker.doSevice(ComponentModule.java:796) 在com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 在com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251) 在com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598) 在com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421) 在com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341) 在com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297) 在com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

5/10/12 4:12 PM: Exception Throwncom.ibm.xsp.acl.NoAccessSignal at com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611) at com.ibm.domino.xsp.module.nsf.NotesContext.serverProcessSignedResource(NotesContext.java:955) at com.ibm.domino.xsp.module.nsf.NotesContext.setSignerSessionRights(NotesContext.java:926) at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.loadClass(ModuleClassLoader.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:171) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at com.ibm.designer.runtime.Application.loadClass(Application.java:708) at com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(ApplicationFacesClassLoader.java:54) at com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:166) at com.ibm.xsp.page.compiled.CompiledPageDriver.loadPage(CompiledPageDriver.java:61) at com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:489) at com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:557) at com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:141) at com.ibm.xsp.application.ViewHa ndlerEx.createView(ViewHandlerEx.java:90) at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:238) at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200) at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137) at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267) at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847) at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doSe rvice(ComponentModule.java:796) at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251) at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598) at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421) at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341) at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297) at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

12/10/5下午4:43:引发异常com.ibm.xsp.acl.NoAccessSignal 在com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611)& nbsp;在com.ibm.domino.xsp.module.nsf.NotesContext.serverProcessSignedResource(NotesContext.java:955) 在com.ibm.domino.xsp.module.nsf.NotesContext.setSignerSessionRights(NotesContext.java:926) 在com.ibm.domino.xsp.module.nsf.ModuleClassLoader $ DynamicClassLoader.loadClass(ModuleClassLoader.java:349) 在java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:171) 在java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在com.ibm.designer.runtime.Application.loadClass(Application.java:708) 在com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(ApplicationFacesClassLoader.java:54) 在com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:166) 在com.ibm .xsp.page.compiled.CompiledPageDriver.loadPage(CompiledPageDriver.java:61) 在com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:489) 在com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:557) 在com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:141) 在com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90) 在com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:238) 在com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200) 在com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) 在com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137) 在com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) & nbsp;在com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) 在com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267) 在com.ibm.designer.runtime.domino.adapter.ComponentModule $ AdapterInvoker.invokeServlet(ComponentModule.java:847) 在com.ibm.designer.runtime.domino.adapter.ComponentModule $ ServletInvoker.doService(ComponentModule.java:796) 在com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) 在com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251) 在com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598) 在com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421) 请访问com.ibm.designer.runtime.domino.adapter. LCDEnvironment.doService(LCDEnvironment.java:341) 在com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297) 在com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

5/10/12 4:43 PM: Exception Throwncom.ibm.xsp.acl.NoAccessSignal at com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611)&nbsp ; at com.ibm.domino.xsp.module.nsf.NotesContext.serverProcessSignedResource(NotesContext.java:955) at com.ibm.domino.xsp.module.nsf.NotesContext.setSignerSessionRights(NotesContext.java:926) at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.loadClass(ModuleClassLoader.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at com.ibm.domino.xsp.module.nsf.ModuleClassLoader.loadClass(ModuleClassLoader.java:171) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at com.ibm.designer.runtime.Application.loadClass(Application.java:708) at com.ibm.xsp.library.ApplicationFacesClassLoader.loadClass(ApplicationFacesClassLoader.java:54) at com.ibm.xsp.page.compiled.CompiledPageDriver.getClassForPageName(CompiledPageDriver.java:166) at com.ibm .xsp.page.compiled.CompiledPageDriver.loadPage(CompiledPageDriver.java:61) at com.ibm.xsp.application.ViewHandlerExImpl._createViewRoot(ViewHandlerExImpl.java:489) at com.ibm.xsp.application.ViewHandlerExImpl.createViewRoot(ViewHandlerExImpl.java:557) at com.ibm.xsp.application.ViewHandlerExImpl.doCreateView(ViewHandlerExImpl.java:141) at com.ibm.xsp.application.ViewHandlerEx.createView(ViewHandlerEx.java:90) at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:238) at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:200) at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160) at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137) at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103) & nbsp; at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576) at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1267) at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:847) at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796) at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565) at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1251) at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:598) at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:421) at com.ibm.designer.runtime.domino.adapter. LCDEnvironment.doService(LCDEnvironment.java:341) at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297) at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)

任何想法都会受到赞赏.

Any thoughts would be appreciated.

马特

推荐答案

确定,这是一个非常奇怪的问题,特别影响了iOS设备.我编写了一些额外的代码来检测应用程序是否以独立模式运行(即用户已在主屏幕上创建了该应用程序的快捷方式).此代码循环遍历具有onclick事件的所有标记,并阻止它们启动Safari,并强制它们在独立的浏览器窗口中运行.如果使用加载更多"按钮,这就是导致服务器错误的原因.我仍然不明白为什么为什么这是一个错误,但这是一个简单的解决方法,当我遍历页面中的所有其他内容时,只需不处理加载更多"按钮即可.

OK this turned out to be a very odd issue which affected iOS devices specifically. I had written some extra code to detect if the app was running in standalone mode (ie that the user had created a shortcut to the app on the home screen). This code loops through all tags that have an onclick event and stops them from launching Safari and forces them to run inside the standalone browser window. In the case of the load more button this is what was causing the error on the server. I still don't understand why that was an error, but it was an easy fix, simply don't process the Load More button when I loop through everything else in the page.

感谢大家的帮助.

这篇关于尝试“加载更多"时抛出NoAccessSignal异常.在“移动控件"视图中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 22:12