Исключение NoAccessSignal, возникающее при попытке «Загрузить еще» в представлении элементов управления для мобильных устройств.

У меня есть приложение XPages, работающее на 8.5.3 UP1 с мобильным интерфейсом управления. Он отлично работает на моих разработчиках и тестовых серверах, но в работе мы видим следующую периодически возникающую ошибку, когда пользователь нажимает кнопку «Загрузить еще». кнопка в представлении управления:

05.10.12 16: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.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)

10.10.12 16:43: исключение com.ibm.xsp.acl.NoAccessSignal     в com.ibm.domino.xsp.module.nsf.NotesContext.checkAccess (NotesContext.java:1611) & amp; 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)

Любые мысли будут оценены.

Matt

Ответы на вопрос(2)

ОК, это оказалось очень странной проблемой, которая затронула устройства iOS. Я написал дополнительный код, чтобы определить, работает ли приложение в автономном режиме (то есть, что пользователь создал ярлык для приложения на домашнем экране). Этот код перебирает все теги, имеющие событие onclick, останавливает их запуск Safari и заставляет их запускаться в автономном окне браузера. В случае кнопки «загрузить больше» это и было причиной ошибки на сервере. Я все еще не понимаюwhy это была ошибка, но это было легко исправить, просто не обрабатывать кнопку «Загрузить еще», когда я перебираю все остальное на странице.

Спасибо всем за помощь.

Мы с Китом столкнулись с этим поведением (в разных приложениях) в следующем сценарии:

The current user was authenticated via Directory Assistance; in other words, they don't have an account in the primary Domino Directory. The XPage has a page-specific ACL

Например, я использовал списки ACL страницы в watrCoolr, чтобы указать, что аутентифицированные пользователи будут иметь доступ редактора к источнику данных чата, а анонимные - только читателя. Это работало нормально, пока я проходил аутентификацию пользователя, явно зарегистрированного в names.nsf. Если бы я проходил аутентификацию как пользователь, определенный в каталоге LDAP, страница отслеживала бы стек. Как только я переключился на простое скрытие редактируемых элементов управления от анонимных пользователей и удалил ACL страницы, больше не было трассировки стека.

Это может объяснить, почему он отлично работает в dev и test, но взрывается в работе, если вы не используете Справочную службу в первой, а они - во второй.

ВАШ ОТВЕТ НА ВОПРОС