我在8.5.3 UP1上运行了一个带有移动控件界面的XPage应用程序。它在我的开发和测试服务器上工作正常,但在生产中,当用户点击“加载更多”时,我们会看到以下间歇性错误。视图控件中的按钮:
5/10/12 4:12 PM:异常抛出 com.ibm.xsp.acl.NoAccessSignal 在com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611) at 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) 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) 在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.doSe rvice(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:异常抛出 com.ibm.xsp.acl.NoAccessSignal 在com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess(NotesContext.java:1611) & nbsp; at 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) 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) 在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)
任何想法都会受到赞赏。
马特
答案 0 :(得分:0)
Keith和我在以下场景中都遇到过这种行为(在不同的应用程序中):
例如,我曾经在watrCoolr中使用页面ACL来指定经过身份验证的用户具有对聊天数据源的编辑者访问权限,但匿名用户只能拥有阅读器。只要我在names.nsf中明确注册的用户进行身份验证,那就行得很好。如果我作为在LDAP目录中定义的用户进行身份验证,则该页面将堆栈跟踪。只要我切换到隐藏匿名用户的可编辑控件并删除了页面ACL,就不再有堆栈跟踪。
这可以解释为什么它在开发和测试中工作正常但在生产中会爆炸,如果你没有在前者中使用目录服务而且他们在后者中。
答案 1 :(得分:0)
确定这是一个非常奇怪的问题,特别影响了iOS设备。我编写了一些额外的代码来检测应用程序是否以独立模式运行(即用户在主屏幕上创建了应用程序的快捷方式)。此代码循环遍历具有onclick事件的所有标记,并阻止它们启动Safari并强制它们在独立浏览器窗口内运行。在加载更多按钮的情况下,这是导致服务器上的错误的原因。我仍然不明白为什么这是一个错误,但这是一个简单的修复,当我循环浏览页面中的其他所有内容时,根本不处理“加载更多”按钮。
感谢所有人的帮助。