Hi there,

Since our recent migration to 6.18 we've been getting a fair number of
ListenerInvocationNotAllowedExceptions when users click on links. This
redirects them to page which states that the access is denied. Here's a
typical trace :

org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedException:
Behavior rejected interface invocation. Component: [AjaxLink [Component id =
patients]] Behavior: org.apache.wicket.ajax.markup.html.AjaxLink$1@5f7f5101
Listener: [RequestListenerInterface name=IBehaviorListener, method=public
abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()] 
    at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:237)
 
    at
org.apache.wicket.core.reqzuest.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:250)
    at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
    at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
 
    at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
 
    at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261) 
    at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
 
    at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
    at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
 
    at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
 
    at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) 
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 
    at
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:150)
    at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
 
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
 
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
 
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
 
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
 
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
 
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
 
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) 
    at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
 
    at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
 
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
 
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 
    at java.lang.Thread.run(Thread.java:745) 

I've poked around online and it seems that this would be solved by
specifying an ACTIVE AjaxChannel thus :

@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
    super.updateAjaxAttributes(attributes);

    attributes.setChannel(new AjaxChannel(AjaxChannel.DEFAULT_NAME,
AjaxChannel.Type.ACTIVE));
}

Obviously I can refactor this into a Custom Link class to avoid code
duplication but it still seems a bit odd to have to re-wire all our links
(plus I currently don't really have much of a handle on AjaxChannels). Could
this approach have any unwanted side-effects?

Many thanks,

CN


--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/ListenerInvocationNotAllowedException-woes-tp4669616.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to