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

0

У меня есть приложение 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

Странно ... checkAccess (NotesContext.java:1611) - это исключение, созданное в & quot; if & quot; без доступа. Таким образом, может быть некоторая проблема с источниками данных (вы заполнили "для" свойства, верно?) Frantisek Kossuth
Франтишек, я знаю, как это выглядит, но пользователь может загрузить вид и получить документы, когда он нажмет кнопку «Загрузить еще». что проблема возникает. На документах нет полей читателя. Поэтому я думаю, что это может быть красная сельдь. Matt Matt White
Проблема ACL - проверьте доступ пользователя (заглядывает в код, он не работает, если у него нет доступа). Я знаю, это звучит подозрительно - вы видите хоть что-то на виду. Проверьте сами в классе NotesContext. Frantisek Kossuth
Аутентифицирован ли пользователь из вторичного каталога через справочную службу? keithstric
Что-нибудь необычное в этом представлении данных? Количество строк по умолчанию? Количество строк, которые вы добавляете с помощью кнопки «Загрузить еще»? Что-нибудь необычное в производственном приложении? Работает ли то же приложение и данные, что и на вашем сервере разработки? Paul Hannan

Ваш Ответ

2   ответа
0

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

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

0

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

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

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

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

Это можно считать ошибкой?
Спасибо, Тим, я вполне уверен, что в среде prod нет настройки DA (это не та среда, к которой я могу непосредственно прикасаться, так что это длительный сеанс отладки!), И я уверен, что я не использую ACL на XPages. Но это дает мне еще кое-что для проверки! Matt White

Похожие вопросы