I have an intermittent problem possibly related to session creation or Interceptor configuration. In a few words, when a browser is first opened and a valid action is requested, an exception is returned. After I request the base application name with no action, a successful response is returned, and then I can request any action.
In detail: - When following a hyperlink to a page with or without parameters, error - when closing / opening browser and going directly to any valid action, get error - when closing / opening browser and going directly to anything that would invoke the default action, get error - after trying these things, there is no error when requesting the application by base name alone, with no action in the URL - once this has been done, the above things that didn't work, now work - I have a customer interceptor before 'prepare'. when request.getSession() is called, a session object is returned (as expected) - this interceptor calls session.setAttribute() to set various parameters - my action class implements SessionAware (and Preparable) to obtain the sessionMap object - following the above actions that result in errors, sessionMap is empty when called in the Preparable method - when the application is working, sessionMap is not empty as expected My interceptor configuration in struts.xml looks like: <interceptors> <interceptor name="mySpecificLocale" class="com.mndigi.notes.util.LocaleInterceptor" /> <interceptor-stack name="defaultLocaleStack"> <interceptor-ref name="exception"/> <interceptor-ref name="alias"/> <interceptor-ref name="i18n"/> <interceptor-ref name="mySpecificLocale" /> <interceptor-ref name="servletConfig"/> <interceptor-ref name="prepare"/> <interceptor-ref name="chain"/> <interceptor-ref name="debugging"/> <interceptor-ref name="profiling"/> <interceptor-ref name="scopedModelDriven"/> <interceptor-ref name="modelDriven"/> <interceptor-ref name="fileUpload"> <!-- struts.properties value is checked first. these are set the same --> 20971520 </interceptor-ref> <interceptor-ref name="checkbox"/> <interceptor-ref name="staticParams"/> <interceptor-ref name="params"> dojo\..* </interceptor-ref> <interceptor-ref name="conversionError"/> <interceptor-ref name="validation"> input,back,cancel,browse </interceptor-ref> <interceptor-ref name="workflow"> input,back,cancel,browse </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="defaultLocaleStack"/> Also, here is a debug stack trace when there is a problem: 10:24:46,453 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. 10:24:46,453 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [EMAIL PROTECTED], property=struts] 10:24:46,453 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. 10:24:46,453 DEBUG DefaultActionProxy:65 - Creating an DefaultActionProxy for namespace / and action name home 10:24:46,468 DEBUG I18nInterceptor:97 - intercept '//home' { 10:24:46,468 DEBUG I18nInterceptor:110 - requested_locale=null 10:24:46,468 DEBUG I18nInterceptor:140 - before Locale=en_US 10:24:46,468 INFO LocaleInterceptor:38 - url: http://localhost:8080/TechNotes 10:24:46,468 DEBUG LocaleInterceptor:57 - locale language (based on url) = technotes 10:24:46,468 DEBUG LocaleInterceptor:59 - application name (based on corresponding properties file): TechNotes 10:24:46,468 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [prepareHome] in action [EMAIL PROTECTED] 10:24:46,468 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [prepareDoHome] in action [EMAIL PROTECTED] 10:24:46,468 ERROR [default]:253 - Servlet.service() for servlet default threw exception java.lang.NullPointerException at com.wamnet.notes.webactions.NoteAction.prepare(NoteAction.java:163) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:118) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com.mndigi.notes.util.LocaleInterceptor.intercept(LocaleInterceptor.java:65) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) 10:24:46,484 DEBUG [/TechNotes]:185 - servletPath=/error.jsp, pathInfo=null, queryString=null, name=null 10:24:46,484 DEBUG [/TechNotes]:375 - Path Based Forward 10:24:46,484 DEBUG JspServlet:248 - JspEngine --> /error.jsp 10:24:46,484 DEBUG JspServlet:249 - ServletPath: /error.jsp 10:24:46,484 DEBUG JspServlet:250 - PathInfo: null 10:24:46,484 DEBUG JspServlet:251 - RealPath: C:\Documents and Settings\jeremy\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\notesproject\error.jsp 10:24:46,484 DEBUG JspServlet:252 - RequestURI: /TechNotes/error.jsp 10:24:46,484 DEBUG JspServlet:253 - QueryString: null 10:24:46,484 DEBUG JspServlet:254 - Request Params: 10:24:46,484 DEBUG [/TechNotes]:412 - Disabling the response for futher output 10:24:46,859 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. And here is the log when there is no problem: 10:24:01,484 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. 10:24:01,484 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [EMAIL PROTECTED], property=org] 10:24:01,484 DEBUG JspServlet:248 - JspEngine --> /index.jsp 10:24:01,500 DEBUG JspServlet:249 - ServletPath: /index.jsp 10:24:01,500 DEBUG JspServlet:250 - PathInfo: null 10:24:01,500 DEBUG JspServlet:251 - RealPath: C:\Documents and Settings\jeremy\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\notesproject\index.jsp 10:24:01,500 DEBUG JspServlet:252 - RequestURI: /TechNotes/ 10:24:01,500 DEBUG JspServlet:253 - QueryString: null 10:24:01,500 DEBUG JspServlet:254 - Request Params: 10:24:01,515 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. 10:24:01,515 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [EMAIL PROTECTED], property=struts] 10:24:01,515 DEBUG ConfigurationManager:156 - Checking ConfigurationProviders for reload. 10:24:01,515 DEBUG DefaultActionProxy:65 - Creating an DefaultActionProxy for namespace / and action name home 10:24:01,515 DEBUG I18nInterceptor:97 - intercept '//home' { 10:24:01,515 DEBUG I18nInterceptor:110 - requested_locale=null 10:24:01,515 DEBUG I18nInterceptor:140 - before Locale=en_US 10:24:01,515 INFO LocaleInterceptor:38 - url: http://localhost:8080/TechNotes 10:24:01,515 DEBUG LocaleInterceptor:57 - locale language (based on url) = technotes 10:24:01,531 DEBUG LocaleInterceptor:59 - application name (based on corresponding properties file): TechNotes 10:24:01,531 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [prepareHome] in action [EMAIL PROTECTED] 10:24:01,531 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [prepareDoHome] in action [EMAIL PROTECTED] Hibernate: /* criteria query */ select this_.category_id as category1_0_0_, this_.name as name0_0_, this_.serial_version_u_i_d as serial3_0_0_, this_.application_name as applicat4_0_0_ from tb_category this_ where this_.application_name=? order by this_.name asc 10:24:02,015 DEBUG InstantiatingNullHandler:72 - Entering nullPropertyValue [EMAIL PROTECTED], [EMAIL PROTECTED], property=struts] 10:24:02,015 DEBUG FileUploadInterceptor:204 - Bypassing // home 10:24:02,015 DEBUG StaticParametersInterceptor:83 - Setting static parameters {} 10:24:02,015 DEBUG ParametersInterceptor:148 - Setting params 10:24:02,031 DEBUG AnnotationValidationInterceptor:134 - Validating //home with method home. 10:24:02,031 INFO ActionValidatorManagerFactory:29 - Detected AnnotationActionValidatorManager, initializing it... 10:24:02,078 DEBUG DefaultWorkflowInterceptor:183 - Invoking validate() on action [EMAIL PROTECTED] 10:24:02,078 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [validateHome] in action [EMAIL PROTECTED] 10:24:02,078 DEBUG PrefixMethodInvocationUtil:141 - cannot find method [validateDoHome] in action [EMAIL PROTECTED] 10:24:02,078 DEBUG DefaultActionInvocation:383 - Executing action method = home 10:24:02,578 WARN QueryTranslatorImpl:328 - firstResult/maxResults specified with collection fetch; applying in memory! Hibernate: ... Thanks, Jeremy -- View this message in context: http://www.nabble.com/session-or-interceptor-initialization---configuration-problem-tp15188815p15188815.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]