Yeah, I think that's the problem.
In my app, the user needs to be able to access the home page without logging
in.
So I modified:
/**/*.html*=ROLE_ADMIN,ROLE_USER
to
/**/*.html*=ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER
Which is what's causing this problem.
I've now changed it back, but added this:
/mainMenu.html*=ROLE_ANONYMOUS,ROLE_ADMIN,ROLE_USER
Bare in mind that I've modified mainMenu.html
Gonna give this a try and see what happens.
Rene Guenther wrote:
>
> AFAIK userForm.edit should never been called. Because if session is not
> valid the user has no access right for editProfile.html as specified in
> filterInvocationInterceptor:
> /**/*.html*=ROLE_ADMIN,ROLE_USER
> The resulting acegi exception should be caught by
> exceptionTranslationFilter which should forward the user to:
> <property name="loginFormUrl" value="/login.jsp"/>
>
> If your settings in security.xml are the same as mine, I have no idea why
> you end up with the stack trace.
>
> René
>
>
> Enrico Goosen wrote:
>>
>> Here's the stack trace:
>>
>>
>> Yikes!
>>
>> javax.servlet.ServletException: javax.servlet.ServletException: Error
>> calling action method of component with id userProfile:edit
>> at
>> net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:152)
>> at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:97)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.ctjug.jobsite.webapp.filter.LocaleFilter.doFilterInternal(LocaleFilter.java:74)
>> at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
>> at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
>> at
>> org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>> at
>> org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
>> at
>> org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
>> at
>> org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
>> at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>> at
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: javax.servlet.ServletException: Error calling action method of
>> component with id userProfile:edit
>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
>> at
>> org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.ctjug.jobsite.webapp.filter.MessageFilter.doFilter(MessageFilter.java:62)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
>> at
>> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>> at
>> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>> at
>> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>> at
>> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>> net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75)
>> at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
>> ... 47 more
>> Caused by: javax.faces.FacesException: Error calling action method of
>> component with id userProfile:edit
>> at
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
>> at javax.faces.component.UICommand.broadcast(UICommand.java:121)
>> at
>> org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:274)
>> at
>> org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:250)
>> at
>> org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:405)
>> at
>> org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
>> at
>> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
>> at
>> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
>> ... 71 more
>> Caused by: javax.faces.el.EvaluationException: javax.el.ELException:
>> /editProfile.xhtml @11,57 action="#{userForm.edit}":
>> org.acegisecurity.userdetails.UsernameNotFoundException: user 'null' not
>> found...
>> at
>> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:79)
>> at
>> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
>> ... 79 more
>> Caused by: javax.el.ELException: /editProfile.xhtml @11,57
>> action="#{userForm.edit}":
>> org.acegisecurity.userdetails.UsernameNotFoundException: user 'null' not
>> found...
>> at
>> com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
>> at
>> javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
>> ... 80 more
>> Caused by: org.acegisecurity.userdetails.UsernameNotFoundException: user
>> 'null' not found...
>> at
>> org.ctjug.jobsite.dao.hibernate.UserDaoHibernate.loadUserByUsername(UserDaoHibernate.java:68)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
>> at
>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
>> at
>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>> at $Proxy25.loadUserByUsername(Unknown Source)
>> at
>> org.ctjug.jobsite.service.impl.UserManagerImpl.getUserByUsername(UserManagerImpl.java:84)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
>> at
>> org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
>> at
>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
>> at
>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
>> at
>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
>> at
>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>> at $Proxy28.getUserByUsername(Unknown Source)
>> at org.ctjug.jobsite.webapp.action.UserForm.edit(UserForm.java:81)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at org.apache.el.parser.AstValue.invoke(AstValue.java:131)
>> at
>> org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
>> at
>> com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
>> ... 81 more
>>
>> I haven't modified security.xml, but I noticed that this has been
>> commented out (not by me):
>> <!-- Changed to use logout.jsp since causes 404 on WebSphere:
>> http://issues.appfuse.org/browse/APF-566 -->
>> <!--bean id="logoutFilter"
>> class="org.acegisecurity.ui.logout.LogoutFilter">
>> <constructor-arg value="/index.jsp"/>
>> <constructor-arg>
>> <list>
>> <ref bean="rememberMeServices"/>
>> <bean
>> class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
>> </list>
>> </constructor-arg>
>> <property name="filterProcessesUrl" value="/logout.jsp"/>
>> </bean-->
>>
>> Perhaps this issue has something to do with the "Remember Me" feature??
>>
>>
>>
>> Rene Guenther wrote:
>>>
>>> Can you post the stack trace?
>>> Have you done any changes to security.xml?
>>>
>>> I am using same appfuse version. If user session runs out I am
>>> redirected to login.jsp automatically.
>>>
>>> René
>>>
>>>
>>> Enrico Goosen wrote:
>>>>
>>>> Hi Matt,
>>>>
>>>> I'm using JSF basic on Appfuse 2.0.
>>>>
>>>> Regards,
>>>> Enrico
>>>>
>>>>
>>>>
>>>> mraible wrote:
>>>>>
>>>>> Which web framework and version of AppFuse gives you this horrible
>>>>> stack trace?
>>>>>
>>>>> Matt
>>>>>
>>>>> On 12/20/07, Enrico Goosen <[EMAIL PROTECTED]> wrote:
>>>>>>
>>>>>> I also experienced a problem with the session timeout, and if for
>>>>>> example
>>>>>> the
>>>>>> user clicks on "Edit Profile" after the session times out, you get a
>>>>>> horrible stack trace, instead of a graceful redirect to the login
>>>>>> page.
>>>>>>
>>>>>> To overcome this, I put the following code in MessageFilter.java:
>>>>>>
>>>>>> //redirect to login if session has expired
>>>>>> String username = request.getRemoteUser();
>>>>>> if (username == null){
>>>>>> UrlPathHelper urlPathHelper = new UrlPathHelper();
>>>>>> String path =
>>>>>> urlPathHelper.getPathWithinApplication(request);
>>>>>> if (path.contains("mainMenu") || path.contains("signup")
>>>>>> ||
>>>>>> path.contains("passwordHint")){
>>>>>> //ignore
>>>>>> }else{
>>>>>> RequestDispatcher rd =
>>>>>> request.getRequestDispatcher("/login.jsp");
>>>>>> rd.forward(request, res);
>>>>>> return;
>>>>>> }
>>>>>> }
>>>>>> In my app, the user isn't required to login to view the mainMenu
>>>>>> page, hence
>>>>>> it only redirects for other pages that require a valid user.
>>>>>>
>>>>>>
>>>>>> mraible wrote:
>>>>>> >
>>>>>> > There is no filter that's responsible for detecting a timeout. You
>>>>>> > could create an HttpSessionListener that listens for deactivation,
>>>>>> but
>>>>>> > I don't believe you can actually detect it with a filter and
>>>>>> forward
>>>>>> > to a "your session has expired page".
>>>>>> >
>>>>>> >
>>>>>> http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpSessionListener.html
>>>>>> >
>>>>>> > Matt
>>>>>> >
>>>>>> > On 4/12/07, VJ22 <[EMAIL PROTECTED]> wrote:
>>>>>> >>
>>>>>> >> Hello Matt...tks for the answer
>>>>>> >>
>>>>>> >> I have specified the same in the web.xml file .... but which
>>>>>> filter is
>>>>>> >> responsible for actually detecting a session timeout within Acegi
>>>>>> within
>>>>>> >> Appfuse ?
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> mraible wrote:
>>>>>> >> >
>>>>>> >> > It should be specified in web.xml.
>>>>>> >> >
>>>>>> >> > Matt
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > On 4/12/07, VJ22 <[EMAIL PROTECTED]> wrote:
>>>>>> >> >>
>>>>>> >> >> Hello,
>>>>>> >> >>
>>>>>> >> >> Which filter in the acegi security filter chain checks for a
>>>>>> session
>>>>>> >> >> timeout
>>>>>> >> >> within the Appfuse configuration ? I am using the default of 30
>>>>>> >> minutes
>>>>>> >> >> in
>>>>>> >> >> the web.xml ?
>>>>>> >> >> I need a bit more flexibility in my logout process and was
>>>>>> going
>>>>>> >> through
>>>>>> >> >> the
>>>>>> >> >> maze of configuration files to figure out how the framework
>>>>>> handles
>>>>>> >> >> session
>>>>>> >> >> timeouts ?
>>>>>> >> >>
>>>>>> >> >> tks in advance
>>>>>> >> >>
>>>>>> >> >> Rgds...VJ
>>>>>> >> >> --
>>>>>> >> >> View this message in context:
>>>>>> >> >>
>>>>>> http://www.nabble.com/session-timeout-tf3564175s2369.html#a9955303
>>>>>> >> >> Sent from the AppFuse - User mailing list archive at
>>>>>> Nabble.com.
>>>>>> >> >>
>>>>>> >> >>
>>>>>> ---------------------------------------------------------------------
>>>>>> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> >> >> For additional commands, e-mail:
>>>>>> [EMAIL PROTECTED]
>>>>>> >> >>
>>>>>> >> >>
>>>>>> >> >
>>>>>> >> >
>>>>>> >> > --
>>>>>> >> > http://raibledesigns.com
>>>>>> >> >
>>>>>> >> >
>>>>>> ---------------------------------------------------------------------
>>>>>> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> >> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>> >> >
>>>>>> >> >
>>>>>> >> >
>>>>>> >>
>>>>>> >> --
>>>>>> >> View this message in context:
>>>>>> >> http://www.nabble.com/session-timeout-tf3564175s2369.html#a9958216
>>>>>> >> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>>>>> >>
>>>>>> >>
>>>>>> ---------------------------------------------------------------------
>>>>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>> >>
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> > --
>>>>>> > http://raibledesigns.com
>>>>>> >
>>>>>> >
>>>>>> ---------------------------------------------------------------------
>>>>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/session-timeout-tp9955303s2369p14437100.html
>>>>>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
http://www.nabble.com/file/p14453881/security.xml security.xml
--
View this message in context:
http://www.nabble.com/session-timeout-tp9955303s2369p14453881.html
Sent from the AppFuse - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]