You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Erik de Hair <e....@pocos.nl> on 2015/11/27 09:45:09 UTC

Wicket page session?

Hi,

Our users get a lot of unexpected errors probably caused by time outs of 
page sessions. The logs aren't quite clear about that but they don't 
seem to be business logic errors. During development we never get these 
exceptions, probably because one tests some action and then redeploys 
again (and I taught myself always to click a page title before calling 
some action when the page was opened a while before).

Is anybody experiencing the same issue?

Erik

Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
To nuance the issue: our users SAY they get these exceptions quite 
often. But they don't keep track of how often. At least it irritates them.

On 11/27/2015 11:23 AM, Erik de Hair wrote:
>
> On 11/27/2015 09:49 AM, Martin Grigorov wrote:
>> Hi,
>>
>> What is the exception in the logs?
> Hi Martin,
>
> I'll try to get you an exception. It's hard to reproduce and I don't 
> have one now.
>>
>>> On Nov 27 2015, at 10:47 am, Erik de Hair &lt;e.dehair@pocos.nl&gt; 
>>> wrote:
>>> Hi,
>>> Our users get a lot of unexpected errors probably caused by time 
>>> outs of
>> page sessions. The logs aren't quite clear about that but they don't
>> seem to be business logic errors. During development we never get these
>> exceptions, probably because one tests some action and then redeploys
>> again (and I taught myself always to click a page title before calling
>> some action when the page was opened a while before).
>>
>>> Is anybody experiencing the same issue?
>>> Erik
>>
>
>


Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
On 12/23/2015 06:22 PM, Dan Haywood wrote:
> Um, fixed.
>
> The DomainAppAppManifest had the security module commented out (I was using
> it for a demo, must've pushed it like that...).  Do a git pull and it
> should work.
The application does work now. Will try to reproduce the issue.
>
> Alternatively, if you run with
> the DomainAppAppManifestWithFixturesBypassSecurity, then any user/password
> will work.
>
> We generally run the app from the IDE (IntelliJ), using the
> org.apache.isis.WebServer utility class, which recognizes --manifest flag
> and others to specify the app manifest [1], [2]
>
> HTH
> Dan
>
>
> [1] http://isis.apache.org/guides/ugbtb.html#_ugbtb_deployment_cmd-line
> [2] http://imgur.com/tyvuWtG
>
>
>
> On 23 December 2015 at 16:42, Erik de Hair <e....@pocos.nl> wrote:
>
>> On 12/23/2015 05:37 PM, Dan Haywood wrote:
>>
>>> try either:
>>>
>>> - domainapp-admin/pass
>>> - isis-module-security-admin/pass
>>>
>>> Dan
>>>
>> Both result in an exception. Does it matter how to start the application?
>> I did a "mvn jetty:run -D jetty.port=9090".
>>
>> Caused by: java.lang.NullPointerException
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.lookupUser(IsisModuleSecurityRealm.java:155)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:146)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:143)
>>          at
>> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:216)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doExecute(IsisModuleSecurityRealm.java:226)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.execute(IsisModuleSecurityRealm.java:217)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.lookupPrincipal(IsisModuleSecurityRealm.java:143)
>>          at
>> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doGetAuthenticationInfo(IsisModuleSecurityRealm.java:82)
>>          at
>> org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568)
>>          at
>> org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
>>          at
>> org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
>>          at
>> org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
>>
>>
>>> On 23 December 2015 at 16:35, Erik de Hair <e....@pocos.nl> wrote:
>>>
>>> Hi Martin,
>>>> I tried to use the quickstart-app to reproduce the issue but I can't
>>>> login
>>>> with the provided username/password combination. I looks like the
>>>> credentials are correct in the AdminUser-fixture script. Do I need to
>>>> start
>>>> the user seed somehow?
>>>>
>>>> Erik
>>>>
>>>>
>>>> On 12/11/2015 04:33 PM, Erik de Hair wrote:
>>>>
>>>> On 12/09/2015 08:31 PM, Martin Grigorov wrote:
>>>>> Hi Erik,
>>>>>> What kind of button is this ?
>>>>>> To me it looks like this is the "OK" button from the
>>>>>> ActionParametersFormPanel.java, i.e. the OK button for a Modal window
>>>>>> where
>>>>>> you enter the parameters for an @Action
>>>>>>
>>>>>> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).
>>>>>>
>>>>>>
>>>>>> Line"boolean succeeded =
>>>>>> actionExecutor.executeActionAndProcessResults(target, form);" is
>>>>>> responsible to call your action method. I don't see how this code will
>>>>>> be
>>>>>> executed if there is an error like the one below.
>>>>>>
>>>>>> Please try to reproduce it in a mini app.
>>>>>>
>>>>>> Ok, I'll try to do that.
>>>>> Thank you!
>>>>>> Martin Grigorov
>>>>>> Wicket Training and Consulting
>>>>>> https://twitter.com/mtgrigorov
>>>>>>
>>>>>> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl>
>>>>>> wrote:
>>>>>>
>>>>>> Hi Martin,
>>>>>>
>>>>>>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>>>>>>
>>>>>>> Hi Erik,
>>>>>>>
>>>>>>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>>>>>>
>>>>>>>> invocation. Component: [AjaxButton [Component id = okButton]]
>>>>>>>>> Behavior:
>>>>>>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9
>>>>>>>>> Listener:
>>>>>>>>> [RequestListenerInterface name=IBehaviorListener, method=public
>>>>>>>>> abstract
>>>>>>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This exception means that Wicket cannot execute #onSubmit() method
>>>>>>>>> for
>>>>>>>>>
>>>>>>>>> this
>>>>>>>> AjaxButton because the button is either disabled or invisible.
>>>>>>>>
>>>>>>>> So, the button is rendered by Isis/Wicket and *after* that its
>>>>>>>> usability
>>>>>>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>>>>>>> makes
>>>>>>>> a call to the server but Wicket refuses to execute the method.
>>>>>>>>
>>>>>>>> It does actually completely execute the method.
>>>>>>>>
>>>>>>> So you think this could occur when an action is executed for which the
>>>>>>> button would be rendered (enabled) before the method was executed, but
>>>>>>> would be disabled/hidden after method execution because of changed
>>>>>>> object
>>>>>>> state?
>>>>>>>
>>>>>>> We will need a mini application that reproduces the problem to be able
>>>>>>>
>>>>>>>> to
>>>>>>>> help you.
>>>>>>>>
>>>>>>>> If you expect the above assumption is correct I wil try to reproduce
>>>>>>>>
>>>>>>> that
>>>>>>> scenario.
>>>>>>>
>>>>>>>
>>>>>>> Martin Grigorov
>>>>>>>
>>>>>>>> Wicket Training and Consulting
>>>>>>>> https://twitter.com/mtgrigorov
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>


Re: Wicket page session?

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Um, fixed.

The DomainAppAppManifest had the security module commented out (I was using
it for a demo, must've pushed it like that...).  Do a git pull and it
should work.

Alternatively, if you run with
the DomainAppAppManifestWithFixturesBypassSecurity, then any user/password
will work.

We generally run the app from the IDE (IntelliJ), using the
org.apache.isis.WebServer utility class, which recognizes --manifest flag
and others to specify the app manifest [1], [2]

HTH
Dan


[1] http://isis.apache.org/guides/ugbtb.html#_ugbtb_deployment_cmd-line
[2] http://imgur.com/tyvuWtG



On 23 December 2015 at 16:42, Erik de Hair <e....@pocos.nl> wrote:

> On 12/23/2015 05:37 PM, Dan Haywood wrote:
>
>> try either:
>>
>> - domainapp-admin/pass
>> - isis-module-security-admin/pass
>>
>> Dan
>>
> Both result in an exception. Does it matter how to start the application?
> I did a "mvn jetty:run -D jetty.port=9090".
>
> Caused by: java.lang.NullPointerException
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.lookupUser(IsisModuleSecurityRealm.java:155)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:146)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:143)
>         at
> org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:216)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doExecute(IsisModuleSecurityRealm.java:226)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.execute(IsisModuleSecurityRealm.java:217)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.lookupPrincipal(IsisModuleSecurityRealm.java:143)
>         at
> org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doGetAuthenticationInfo(IsisModuleSecurityRealm.java:82)
>         at
> org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568)
>         at
> org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
>         at
> org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
>         at
> org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
>
>
>>
>> On 23 December 2015 at 16:35, Erik de Hair <e....@pocos.nl> wrote:
>>
>> Hi Martin,
>>>
>>> I tried to use the quickstart-app to reproduce the issue but I can't
>>> login
>>> with the provided username/password combination. I looks like the
>>> credentials are correct in the AdminUser-fixture script. Do I need to
>>> start
>>> the user seed somehow?
>>>
>>> Erik
>>>
>>>
>>> On 12/11/2015 04:33 PM, Erik de Hair wrote:
>>>
>>> On 12/09/2015 08:31 PM, Martin Grigorov wrote:
>>>>
>>>> Hi Erik,
>>>>>
>>>>> What kind of button is this ?
>>>>> To me it looks like this is the "OK" button from the
>>>>> ActionParametersFormPanel.java, i.e. the OK button for a Modal window
>>>>> where
>>>>> you enter the parameters for an @Action
>>>>>
>>>>> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).
>>>>>
>>>>>
>>>>> Line"boolean succeeded =
>>>>> actionExecutor.executeActionAndProcessResults(target, form);" is
>>>>> responsible to call your action method. I don't see how this code will
>>>>> be
>>>>> executed if there is an error like the one below.
>>>>>
>>>>> Please try to reproduce it in a mini app.
>>>>>
>>>>> Ok, I'll try to do that.
>>>>
>>>> Thank you!
>>>>>
>>>>> Martin Grigorov
>>>>> Wicket Training and Consulting
>>>>> https://twitter.com/mtgrigorov
>>>>>
>>>>> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl>
>>>>> wrote:
>>>>>
>>>>> Hi Martin,
>>>>>
>>>>>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>>>>>
>>>>>> Hi Erik,
>>>>>>
>>>>>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl>
>>>>>>> wrote:
>>>>>>>
>>>>>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>>>>>
>>>>>>> invocation. Component: [AjaxButton [Component id = okButton]]
>>>>>>>> Behavior:
>>>>>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9
>>>>>>>> Listener:
>>>>>>>> [RequestListenerInterface name=IBehaviorListener, method=public
>>>>>>>> abstract
>>>>>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>>>>>
>>>>>>>>
>>>>>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>>>>>>
>>>>>>>>
>>>>>>>> This exception means that Wicket cannot execute #onSubmit() method
>>>>>>>> for
>>>>>>>>
>>>>>>>> this
>>>>>>> AjaxButton because the button is either disabled or invisible.
>>>>>>>
>>>>>>> So, the button is rendered by Isis/Wicket and *after* that its
>>>>>>> usability
>>>>>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>>>>>> makes
>>>>>>> a call to the server but Wicket refuses to execute the method.
>>>>>>>
>>>>>>> It does actually completely execute the method.
>>>>>>>
>>>>>> So you think this could occur when an action is executed for which the
>>>>>> button would be rendered (enabled) before the method was executed, but
>>>>>> would be disabled/hidden after method execution because of changed
>>>>>> object
>>>>>> state?
>>>>>>
>>>>>> We will need a mini application that reproduces the problem to be able
>>>>>>
>>>>>>> to
>>>>>>> help you.
>>>>>>>
>>>>>>> If you expect the above assumption is correct I wil try to reproduce
>>>>>>>
>>>>>> that
>>>>>> scenario.
>>>>>>
>>>>>>
>>>>>> Martin Grigorov
>>>>>>
>>>>>>> Wicket Training and Consulting
>>>>>>> https://twitter.com/mtgrigorov
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>

Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
On 12/23/2015 05:37 PM, Dan Haywood wrote:
> try either:
>
> - domainapp-admin/pass
> - isis-module-security-admin/pass
>
> Dan
Both result in an exception. Does it matter how to start the 
application? I did a "mvn jetty:run -D jetty.port=9090".

Caused by: java.lang.NullPointerException
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.lookupUser(IsisModuleSecurityRealm.java:155)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:146)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm$1.execute(IsisModuleSecurityRealm.java:143)
         at 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager.executeWithinTransaction(IsisTransactionManager.java:216)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doExecute(IsisModuleSecurityRealm.java:226)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.execute(IsisModuleSecurityRealm.java:217)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.lookupPrincipal(IsisModuleSecurityRealm.java:143)
         at 
org.isisaddons.module.security.shiro.IsisModuleSecurityRealm.doGetAuthenticationInfo(IsisModuleSecurityRealm.java:82)
         at 
org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568)
         at 
org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
         at 
org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
         at 
org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
>
>
> On 23 December 2015 at 16:35, Erik de Hair <e....@pocos.nl> wrote:
>
>> Hi Martin,
>>
>> I tried to use the quickstart-app to reproduce the issue but I can't login
>> with the provided username/password combination. I looks like the
>> credentials are correct in the AdminUser-fixture script. Do I need to start
>> the user seed somehow?
>>
>> Erik
>>
>>
>> On 12/11/2015 04:33 PM, Erik de Hair wrote:
>>
>>> On 12/09/2015 08:31 PM, Martin Grigorov wrote:
>>>
>>>> Hi Erik,
>>>>
>>>> What kind of button is this ?
>>>> To me it looks like this is the "OK" button from the
>>>> ActionParametersFormPanel.java, i.e. the OK button for a Modal window
>>>> where
>>>> you enter the parameters for an @Action
>>>> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).
>>>>
>>>>
>>>> Line"boolean succeeded =
>>>> actionExecutor.executeActionAndProcessResults(target, form);" is
>>>> responsible to call your action method. I don't see how this code will be
>>>> executed if there is an error like the one below.
>>>>
>>>> Please try to reproduce it in a mini app.
>>>>
>>> Ok, I'll try to do that.
>>>
>>>> Thank you!
>>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl> wrote:
>>>>
>>>> Hi Martin,
>>>>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>>>>
>>>>> Hi Erik,
>>>>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl>
>>>>>> wrote:
>>>>>>
>>>>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>>>>
>>>>>>> invocation. Component: [AjaxButton [Component id = okButton]]
>>>>>>> Behavior:
>>>>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9
>>>>>>> Listener:
>>>>>>> [RequestListenerInterface name=IBehaviorListener, method=public
>>>>>>> abstract
>>>>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>>>>
>>>>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>>>>>
>>>>>>>
>>>>>>> This exception means that Wicket cannot execute #onSubmit() method for
>>>>>>>
>>>>>> this
>>>>>> AjaxButton because the button is either disabled or invisible.
>>>>>>
>>>>>> So, the button is rendered by Isis/Wicket and *after* that its
>>>>>> usability
>>>>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>>>>> makes
>>>>>> a call to the server but Wicket refuses to execute the method.
>>>>>>
>>>>>> It does actually completely execute the method.
>>>>> So you think this could occur when an action is executed for which the
>>>>> button would be rendered (enabled) before the method was executed, but
>>>>> would be disabled/hidden after method execution because of changed
>>>>> object
>>>>> state?
>>>>>
>>>>> We will need a mini application that reproduces the problem to be able
>>>>>> to
>>>>>> help you.
>>>>>>
>>>>>> If you expect the above assumption is correct I wil try to reproduce
>>>>> that
>>>>> scenario.
>>>>>
>>>>>
>>>>> Martin Grigorov
>>>>>> Wicket Training and Consulting
>>>>>> https://twitter.com/mtgrigorov
>>>>>>
>>>>>>
>>>>>>


Re: Wicket page session?

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
try either:

- domainapp-admin/pass
- isis-module-security-admin/pass

Dan


On 23 December 2015 at 16:35, Erik de Hair <e....@pocos.nl> wrote:

> Hi Martin,
>
> I tried to use the quickstart-app to reproduce the issue but I can't login
> with the provided username/password combination. I looks like the
> credentials are correct in the AdminUser-fixture script. Do I need to start
> the user seed somehow?
>
> Erik
>
>
> On 12/11/2015 04:33 PM, Erik de Hair wrote:
>
>>
>> On 12/09/2015 08:31 PM, Martin Grigorov wrote:
>>
>>> Hi Erik,
>>>
>>> What kind of button is this ?
>>> To me it looks like this is the "OK" button from the
>>> ActionParametersFormPanel.java, i.e. the OK button for a Modal window
>>> where
>>> you enter the parameters for an @Action
>>> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).
>>>
>>>
>>> Line"boolean succeeded =
>>> actionExecutor.executeActionAndProcessResults(target, form);" is
>>> responsible to call your action method. I don't see how this code will be
>>> executed if there is an error like the one below.
>>>
>>> Please try to reproduce it in a mini app.
>>>
>> Ok, I'll try to do that.
>>
>>>
>>> Thank you!
>>>
>>> Martin Grigorov
>>> Wicket Training and Consulting
>>> https://twitter.com/mtgrigorov
>>>
>>> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl> wrote:
>>>
>>> Hi Martin,
>>>>
>>>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>>>
>>>> Hi Erik,
>>>>>
>>>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl>
>>>>> wrote:
>>>>>
>>>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>>>
>>>>>> invocation. Component: [AjaxButton [Component id = okButton]]
>>>>>> Behavior:
>>>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9
>>>>>> Listener:
>>>>>> [RequestListenerInterface name=IBehaviorListener, method=public
>>>>>> abstract
>>>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>>>
>>>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>>>>
>>>>>>
>>>>>> This exception means that Wicket cannot execute #onSubmit() method for
>>>>>>
>>>>> this
>>>>> AjaxButton because the button is either disabled or invisible.
>>>>>
>>>>> So, the button is rendered by Isis/Wicket and *after* that its
>>>>> usability
>>>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>>>> makes
>>>>> a call to the server but Wicket refuses to execute the method.
>>>>>
>>>>> It does actually completely execute the method.
>>>>
>>>> So you think this could occur when an action is executed for which the
>>>> button would be rendered (enabled) before the method was executed, but
>>>> would be disabled/hidden after method execution because of changed
>>>> object
>>>> state?
>>>>
>>>> We will need a mini application that reproduces the problem to be able
>>>>> to
>>>>> help you.
>>>>>
>>>>> If you expect the above assumption is correct I wil try to reproduce
>>>> that
>>>> scenario.
>>>>
>>>>
>>>> Martin Grigorov
>>>>> Wicket Training and Consulting
>>>>> https://twitter.com/mtgrigorov
>>>>>
>>>>>
>>>>>
>>
>

Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
Hi Martin,

I tried to use the quickstart-app to reproduce the issue but I can't 
login with the provided username/password combination. I looks like the 
credentials are correct in the AdminUser-fixture script. Do I need to 
start the user seed somehow?

Erik

On 12/11/2015 04:33 PM, Erik de Hair wrote:
>
> On 12/09/2015 08:31 PM, Martin Grigorov wrote:
>> Hi Erik,
>>
>> What kind of button is this ?
>> To me it looks like this is the "OK" button from the
>> ActionParametersFormPanel.java, i.e. the OK button for a Modal window 
>> where
>> you enter the parameters for an @Action
>> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons). 
>>
>>
>> Line"boolean succeeded =
>> actionExecutor.executeActionAndProcessResults(target, form);" is
>> responsible to call your action method. I don't see how this code 
>> will be
>> executed if there is an error like the one below.
>>
>> Please try to reproduce it in a mini app.
> Ok, I'll try to do that.
>>
>> Thank you!
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl> wrote:
>>
>>> Hi Martin,
>>>
>>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>>
>>>> Hi Erik,
>>>>
>>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl> 
>>>> wrote:
>>>>
>>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>>> invocation. Component: [AjaxButton [Component id = okButton]] 
>>>>> Behavior:
>>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 
>>>>> Listener:
>>>>> [RequestListenerInterface name=IBehaviorListener, method=public 
>>>>> abstract
>>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>>
>>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237) 
>>>>>
>>>>>
>>>>> This exception means that Wicket cannot execute #onSubmit() method 
>>>>> for
>>>> this
>>>> AjaxButton because the button is either disabled or invisible.
>>>>
>>>> So, the button is rendered by Isis/Wicket and *after* that its 
>>>> usability
>>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>>> makes
>>>> a call to the server but Wicket refuses to execute the method.
>>>>
>>> It does actually completely execute the method.
>>>
>>> So you think this could occur when an action is executed for which the
>>> button would be rendered (enabled) before the method was executed, but
>>> would be disabled/hidden after method execution because of changed 
>>> object
>>> state?
>>>
>>>> We will need a mini application that reproduces the problem to be 
>>>> able to
>>>> help you.
>>>>
>>> If you expect the above assumption is correct I wil try to reproduce 
>>> that
>>> scenario.
>>>
>>>
>>>> Martin Grigorov
>>>> Wicket Training and Consulting
>>>> https://twitter.com/mtgrigorov
>>>>
>>>>
>


Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
On 12/09/2015 08:31 PM, Martin Grigorov wrote:
> Hi Erik,
>
> What kind of button is this ?
> To me it looks like this is the "OK" button from the
> ActionParametersFormPanel.java, i.e. the OK button for a Modal window where
> you enter the parameters for an @Action
> (org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).
>
> Line"boolean succeeded =
> actionExecutor.executeActionAndProcessResults(target, form);" is
> responsible to call your action method. I don't see how this code will be
> executed if there is an error like the one below.
>
> Please try to reproduce it in a mini app.
Ok, I'll try to do that.
>
> Thank you!
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>
> On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl> wrote:
>
>> Hi Martin,
>>
>> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>>
>>> Hi Erik,
>>>
>>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl> wrote:
>>>
>>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>>> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
>>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
>>>> [RequestListenerInterface name=IBehaviorListener, method=public abstract
>>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>>
>>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>>
>>>> This exception means that Wicket cannot execute #onSubmit() method for
>>> this
>>> AjaxButton because the button is either disabled or invisible.
>>>
>>> So, the button is rendered by Isis/Wicket and *after* that its usability
>>> (visibility and/or enable) is being changed. Clicking on it in the UI
>>> makes
>>> a call to the server but Wicket refuses to execute the method.
>>>
>> It does actually completely execute the method.
>>
>> So you think this could occur when an action is executed for which the
>> button would be rendered (enabled) before the method was executed, but
>> would be disabled/hidden after method execution because of changed object
>> state?
>>
>>> We will need a mini application that reproduces the problem to be able to
>>> help you.
>>>
>> If you expect the above assumption is correct I wil try to reproduce that
>> scenario.
>>
>>
>>> Martin Grigorov
>>> Wicket Training and Consulting
>>> https://twitter.com/mtgrigorov
>>>
>>>


Re: Wicket page session?

Posted by Martin Grigorov <mg...@apache.org>.
Hi Erik,

What kind of button is this ?
To me it looks like this is the "OK" button from the
ActionParametersFormPanel.java, i.e. the OK button for a Modal window where
you enter the parameters for an @Action
(org.apache.isis.viewer.wicket.ui.components.actions.ActionParametersFormPanel.ActionParameterForm#addButtons).

Line"boolean succeeded =
actionExecutor.executeActionAndProcessResults(target, form);" is
responsible to call your action method. I don't see how this code will be
executed if there is an error like the one below.

Please try to reproduce it in a mini app.

Thank you!

Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

On Wed, Dec 9, 2015 at 8:53 AM, Erik de Hair <e....@pocos.nl> wrote:

> Hi Martin,
>
> On 12/04/2015 02:15 PM, Martin Grigorov wrote:
>
>> Hi Erik,
>>
>> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl> wrote:
>>
>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>>> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
>>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
>>> [RequestListenerInterface name=IBehaviorListener, method=public abstract
>>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>>>
>>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>>
>>> This exception means that Wicket cannot execute #onSubmit() method for
>> this
>> AjaxButton because the button is either disabled or invisible.
>>
>> So, the button is rendered by Isis/Wicket and *after* that its usability
>> (visibility and/or enable) is being changed. Clicking on it in the UI
>> makes
>> a call to the server but Wicket refuses to execute the method.
>>
> It does actually completely execute the method.
>
> So you think this could occur when an action is executed for which the
> button would be rendered (enabled) before the method was executed, but
> would be disabled/hidden after method execution because of changed object
> state?
>
>>
>> We will need a mini application that reproduces the problem to be able to
>> help you.
>>
> If you expect the above assumption is correct I wil try to reproduce that
> scenario.
>
>
>>
>> Martin Grigorov
>> Wicket Training and Consulting
>> https://twitter.com/mtgrigorov
>>
>>
>

Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
Hi Martin,

On 12/04/2015 02:15 PM, Martin Grigorov wrote:
> Hi Erik,
>
> On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl> wrote:
>
>> ListenerInvocationNotAllowedExceptionBehavior rejected interface
>> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
>> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
>> [RequestListenerInterface name=IBehaviorListener, method=public abstract
>> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>>
> This exception means that Wicket cannot execute #onSubmit() method for this
> AjaxButton because the button is either disabled or invisible.
>
> So, the button is rendered by Isis/Wicket and *after* that its usability
> (visibility and/or enable) is being changed. Clicking on it in the UI makes
> a call to the server but Wicket refuses to execute the method.
It does actually completely execute the method.

So you think this could occur when an action is executed for which the 
button would be rendered (enabled) before the method was executed, but 
would be disabled/hidden after method execution because of changed 
object state?
>
> We will need a mini application that reproduces the problem to be able to
> help you.
If you expect the above assumption is correct I wil try to reproduce 
that scenario.
>
>
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
>


Re: Wicket page session?

Posted by Martin Grigorov <mg...@apache.org>.
Hi Erik,

On Fri, Dec 4, 2015 at 2:50 PM, Erik de Hair <e....@pocos.nl> wrote:

> ListenerInvocationNotAllowedExceptionBehavior rejected interface
> invocation. Component: [AjaxButton [Component id = okButton]] Behavior:
> org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener:
> [RequestListenerInterface name=IBehaviorListener, method=public abstract
> void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
>

This exception means that Wicket cannot execute #onSubmit() method for this
AjaxButton because the button is either disabled or invisible.

So, the button is rendered by Isis/Wicket and *after* that its usability
(visibility and/or enable) is being changed. Clicking on it in the UI makes
a call to the server but Wicket refuses to execute the method.

We will need a mini application that reproduces the problem to be able to
help you.


Martin Grigorov
Wicket Training and Consulting
https://twitter.com/mtgrigorov

Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
Hi Martin,

It took some time to get a stacktrace but here it is. After the user 
clicked the ok-button the action was fully completed (all objects 
created, business rules applied etc) but the page reloaded with "Sorry, 
an unexpected exception occurred".

I suspected the page session time out but this doesn't seem to occur due 
to a time out because the user just started the action, entered some 
data and submitted just after.

13:30:18,992  [RequestListenerInterface ajp-bio-8009-exec-10 WARN ] 
behavior not enabled; ignore call. Behavior 
org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 at 
component [AjaxButton [Component id = okButton]]
13:30:19,010  [portal               ajp-bio-8009-exec-10 ERROR] 
org.apache.wicket.core.request.handler.ListenerInvocationNotAllowedExceptionBehavior 
rejected interface invocation. Component: [AjaxButton [Component id = 
okButton]] Behavior: 
org.apache.wicket.ajax.markup.html.form.AjaxButton$1@7585b8c9 Listener: 
[RequestListenerInterface name=IBehaviorListener, method=public abstract 
void org.apache.wicket.behavior.IBehaviorListener.onRequest()] 
org.apache.wicket.RequestListenerInterface#invoke(RequestListenerInterface.java:237)
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler#invokeListener(ListenerInterfaceRequestHandler.java:250)
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler#respond(ListenerInterfaceRequestHandler.java:236)
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)
org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:261)
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:218)
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)
org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ApplicationFilterChain.java:241)
org.apache.catalina.core.ApplicationFilterChain#doFilter(ApplicationFilterChain.java:208)
org.apache.catalina.core.StandardWrapperValve#invoke(StandardWrapperValve.java:220)
org.apache.catalina.core.StandardContextValve#invoke(StandardContextValve.java:122)
org.apache.catalina.authenticator.AuthenticatorBase#invoke(AuthenticatorBase.java:503)
org.apache.catalina.core.StandardHostValve#invoke(StandardHostValve.java:170)
org.apache.catalina.valves.ErrorReportValve#invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve#invoke(AccessLogValve.java:950)
org.apache.catalina.core.StandardEngineValve#invoke(StandardEngineValve.java:116)
org.apache.catalina.connector.CoyoteAdapter#service(CoyoteAdapter.java:421)
org.apache.coyote.ajp.AjpProcessor#process(AjpProcessor.java:190)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler#process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor#run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor#runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker#run(ThreadPoolExecutor.java:615)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable#run(TaskThread.java:61)
     java.lang.Thread#run(Thread.java:745)

On 11/27/2015 11:23 AM, Erik de Hair wrote:
>
> On 11/27/2015 09:49 AM, Martin Grigorov wrote:
>> Hi,
>>
>> What is the exception in the logs?
> Hi Martin,
>
> I'll try to get you an exception. It's hard to reproduce and I don't 
> have one now.
>>
>>> On Nov 27 2015, at 10:47 am, Erik de Hair &lt;e.dehair@pocos.nl&gt; 
>>> wrote:
>>> Hi,
>>> Our users get a lot of unexpected errors probably caused by time 
>>> outs of
>> page sessions. The logs aren't quite clear about that but they don't
>> seem to be business logic errors. During development we never get these
>> exceptions, probably because one tests some action and then redeploys
>> again (and I taught myself always to click a page title before calling
>> some action when the page was opened a while before).
>>
>>> Is anybody experiencing the same issue?
>>> Erik
>>
>
>


Re: Wicket page session?

Posted by Erik de Hair <e....@pocos.nl>.
On 11/27/2015 09:49 AM, Martin Grigorov wrote:
> Hi,
>
> What is the exception in the logs?
Hi Martin,

I'll try to get you an exception. It's hard to reproduce and I don't 
have one now.
>
>> On Nov 27 2015, at 10:47 am, Erik de Hair &lt;e.dehair@pocos.nl&gt; wrote:
>> Hi,
>> Our users get a lot of unexpected errors probably caused by time outs of
> page sessions. The logs aren't quite clear about that but they don't
> seem to be business logic errors. During development we never get these
> exceptions, probably because one tests some action and then redeploys
> again (and I taught myself always to click a page title before calling
> some action when the page was opened a while before).
>
>> Is anybody experiencing the same issue?
>> Erik
>


Re: Wicket page session?

Posted by Martin Grigorov <ma...@gmail.com>.
Hi,

  

What is the exception in the logs?

> On Nov 27 2015, at 10:47 am, Erik de Hair &lt;e.dehair@pocos.nl&gt; wrote:  

>

> Hi,

>

> Our users get a lot of unexpected errors probably caused by time outs of  
page sessions. The logs aren't quite clear about that but they don't  
seem to be business logic errors. During development we never get these  
exceptions, probably because one tests some action and then redeploys  
again (and I taught myself always to click a page title before calling  
some action when the page was opened a while before).

>

> Is anybody experiencing the same issue?

>

> Erik