Hi! I've followed http://wiki.apache.org/tapestry/Tapestry5HowToUseTapestryForCustomErrorPages,
and I'm receiving this exception : HTTP Status 500 - ------------------------------ *type* Exception report *message* *description* *The server encountered an internal error () that prevented it from fulfilling this request.* *exception* java.lang.RuntimeException: Exception constructing service 'RememberMeServices': Error invoking service builder method nu.localhost.tapestry5.springsecurity.services.SecurityModule.build(UserDetailsService, String) (at SecurityModule.java:303) (for service 'RememberMeServices'): No service implements the interface org.springframework.security.userdetails.UserDetailsService. org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:75) $RememberMeServices_121266c86ed.delegate($RememberMeServices_121266c86ed.java) $RememberMeServices_121266c86ed.autoLogin($RememberMeServices_121266c86ed.java) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:74) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870d.service($HttpServletRequestFilter_121266c870d.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870c.service($HttpServletRequestFilter_121266c870c.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870b.service($HttpServletRequestFilter_121266c870b.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) $HttpServletRequestHandler_121266c870a.service($HttpServletRequestHandler_121266c870a.java) org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) *root cause* java.lang.RuntimeException: Error invoking service builder method nu.localhost.tapestry5.springsecurity.services.SecurityModule.build(UserDetailsService, String) (at SecurityModule.java:303) (for service 'RememberMeServices'): No service implements the interface org.springframework.security.userdetails.UserDetailsService. org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:87) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:56) org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) $RememberMeServices_121266c86ed.delegate($RememberMeServices_121266c86ed.java) $RememberMeServices_121266c86ed.autoLogin($RememberMeServices_121266c86ed.java) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:74) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870d.service($HttpServletRequestFilter_121266c870d.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870c.service($HttpServletRequestFilter_121266c870c.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870b.service($HttpServletRequestFilter_121266c870b.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) $HttpServletRequestHandler_121266c870a.service($HttpServletRequestHandler_121266c870a.java) org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) *root cause* org.apache.tapestry5.ioc.internal.OperationException: No service implements the interface org.springframework.security.userdetails.UserDetailsService. org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:70) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:250) org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:213) org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:67) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:56) org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) $RememberMeServices_121266c86ed.delegate($RememberMeServices_121266c86ed.java) $RememberMeServices_121266c86ed.autoLogin($RememberMeServices_121266c86ed.java) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:74) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870d.service($HttpServletRequestFilter_121266c870d.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870c.service($HttpServletRequestFilter_121266c870c.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870b.service($HttpServletRequestFilter_121266c870b.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) $HttpServletRequestHandler_121266c870a.service($HttpServletRequestHandler_121266c870a.java) org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) *root cause* java.lang.RuntimeException: No service implements the interface org.springframework.security.userdetails.UserDetailsService. org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:551) org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:46) $MasterObjectProvider_121266c86e5.provide($MasterObjectProvider_121266c86e5.java) org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:656) org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:763) org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:204) org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:42) org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:246) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:250) org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:213) org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:67) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:56) org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) org.apache.tapestry5.ioc.internal.InvokableToRunnable.run(InvokableToRunnable.java:36) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:89) org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:898) org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) $RememberMeServices_121266c86ed.delegate($RememberMeServices_121266c86ed.java) $RememberMeServices_121266c86ed.autoLogin($RememberMeServices_121266c86ed.java) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:74) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870d.service($HttpServletRequestFilter_121266c870d.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:271) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870c.service($HttpServletRequestFilter_121266c870c.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper$1.doFilter(HttpServletRequestFilterWrapper.java:56) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) nu.localhost.tapestry5.springsecurity.services.internal.HttpServletRequestFilterWrapper.service(HttpServletRequestFilterWrapper.java:52) $HttpServletRequestFilter_121266c870b.service($HttpServletRequestFilter_121266c870b.java) $HttpServletRequestHandler_121266c8714.service($HttpServletRequestHandler_121266c8714.java) $HttpServletRequestHandler_121266c870a.service($HttpServletRequestHandler_121266c870a.java) org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) *note* *The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.* ------------------------------ Apache Tomcat/6.0.18