I can't work out why it doesn't work so I decided to subclass the WebRequestCycle and access the HTTPSession's attributes via my PharmisisSession.
Cheers, Jim. On Wed, Jul 30, 2008 at 11:19 AM, James Perry <[EMAIL PROTECTED]> wrote: > Thanks for the swift reply. That's what I originally had but it didn't > work and just tried again to re-confirm. :-) > > Any other suggestions? I've checkout the source code to see if that helps. > > On Wed, Jul 30, 2008 at 10:42 AM, Martijn Dashorst > <[EMAIL PROTECTED]> wrote: >> I think you have to wrap the wicket session filter around your *.do >> mapping, not your new/* mapping. >> >> Martijn >> >> On Wed, Jul 30, 2008 at 11:35 AM, James Perry >> <[EMAIL PROTECTED]> wrote: >>> Hello! >>> >>> I would be grateful for any advice with the below problem I am >>> encountering with the WicketSessionFilter. >>> >>> I managed to convince my colleagues to migrate our www.mypharmisis.com >>> (a drug ordering system for the Pharmaceutical industry) from Struts >>> to Wicket after the success of a greenfield project using Wicket. I >>> don't have the resources to migrate all at once so Struts 1 and Wicket >>> so I have set them up to coexist congruently. However! I am having >>> problems sharing necessary state between Struts 1 and Wicket using the >>> WicketSessionFilter :-( >>> >>> When my Strut controllers tries to access my WebSession, it throws a >>> java.lang.IllegalStateException: you can only locate or create >>> sessions in the context of a request cycle. My stack trace is: >>> >>> org.apache.wicket.Session.findOrCreate(Session.java:206) >>> org.apache.wicket.Session.get(Session.java:250) >>> com.mypharmsisis.pages.session.PharmisisSession.get(PharmisisSession.java:24) >>> com.mypharmisis.struts.isis.actions.AbstractEasyAction.displayPage(AbstractEasyAction.java:52) >>> com.mypharmisis.struts.isis.actions.EasyOrderHomeAction.displayPage(EasyOrderHomeAction.java:53) >>> >>> Here is a snippet of my web.xml: >>> >>> <!-- Wicket configuration using standard JEE filter --> >>> <filter> >>> <filter-name>wicket.pharmisis</filter-name> >>> >>> <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class> >>> <init-param> >>> <param-name>applicationClassName</param-name> >>> >>> <param-value>com.mypharmisis.pages.PharmisisApplication</param-value> >>> </init-param> >>> </filter> >>> >>> <filter> >>> <filter-name>WicketSessionFilter</filter-name> >>> >>> <filter-class>org.apache.wicket.protocol.http.servlet.WicketSessionFilter</filter-class> >>> <init-param> >>> <param-name>filterName</param-name> >>> <param-value>wicket.pharmisis</param-value> >>> </init-param> >>> </filter> >>> >>> <filter-mapping> >>> <filter-name>wicket.pharmisis</filter-name> >>> <url-pattern>/secure/new/*</url-pattern> >>> </filter-mapping> >>> >>> <filter-mapping> >>> <filter-name>WicketSessionFilter</filter-name> >>> <url-pattern>*.do</url-pattern> >>> </filter-mapping> >>> >>> <!-- End of Wicket configuration --> >>> >>> <context-param> >>> <param-name> >>> javax.servlet.jsp.jstl.fmt.localizationContext >>> </param-name> >>> <param-value> >>> com.mypharmisis.isis.ApplicationResources >>> </param-value> >>> </context-param> >>> >>> <context-param> >>> <param-name>crystal_image_uri</param-name> >>> <param-value>/isis2/crystalreportviewers11</param-value> >>> </context-param> >>> >>> <distributable/> >>> <listener> >>> >>> <listener-class>com.mypharmisis.struts.isis.framework.IsisContextListener</listener-class> >>> </listener> >>> >>> <servlet> >>> <servlet-name>action</servlet-name> >>> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> >>> >>> <init-param> >>> <param-name>config</param-name> >>> <param-value>/WEB-INF/struts-config.xml</param-value> >>> </init-param> >>> <init-param> >>> <param-name>debug</param-name> >>> <param-value>true</param-value> >>> </init-param> >>> <init-param> >>> <param-name>detail</param-name> >>> <param-value>9</param-value> >>> </init-param> >>> <init-param> >>> <param-name>nocache</param-name> >>> <param-value>true</param-value> >>> </init-param> >>> <init-param> >>> <param-name>validate</param-name> >>> <param-value>true</param-value> >>> </init-param> >>> >>> <load-on-startup>1</load-on-startup> >>> >>> >>> </servlet> >>> >>> <!-- DWR configuration --> >>> <servlet> >>> <servlet-name>dwr-invoker</servlet-name> >>> <display-name>DWR Servlet</display-name> >>> >>> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> >>> <init-param> >>> <param-name>debug</param-name> >>> <param-value>true</param-value> >>> </init-param> >>> </servlet> >>> >>> <!-- Action Servlet Mappings --> >>> >>> <servlet-mapping> >>> <servlet-name>action</servlet-name> >>> <url-pattern>*.do</url-pattern> >>> </servlet-mapping> >>> >>> <servlet-mapping> >>> <servlet-name>dwr-invoker</servlet-name> >>> <url-pattern>/dwr/*</url-pattern> >>> </servlet-mapping> >>> >>> <!-- The Welcome File List --> >>> <welcome-file-list> >>> <welcome-file>index.jsp</welcome-file> >>> </welcome-file-list> >>> >>> <error-page> >>> <error-code>400</error-code> >>> <location>/isisErrorAction.do?code=400</location> >>> </error-page> >>> >>> <error-page> >>> <error-code>404</error-code> >>> <location>/isisErrorAction.do?code=404</location> >>> </error-page> >>> >>> <error-page> >>> <error-code>500</error-code> >>> <location>/isisErrorAction.do?code=500</location> >>> </error-page> >>> >>> >>> <!-- Start: Struts Tag Library Descriptors --> >>> <!-- >>> <taglib> >>> <taglib-uri>struts.jar</taglib-uri> >>> <taglib-location>/meta-inf/taglib.tld</taglib-location> >>> </taglib> >>> --> >>> >>> <taglib> >>> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> >>> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> >>> </taglib> >>> <taglib> >>> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> >>> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> >>> </taglib> >>> <taglib> >>> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> >>> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> >>> </taglib> >>> <taglib> >>> <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri> >>> <taglib-location>/WEB-INF/struts-template.tld</taglib-location> >>> </taglib> >>> <taglib> >>> <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri> >>> <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location> >>> </taglib> >>> <taglib> >>> <taglib-uri>/WEB-INF/sslext.tld</taglib-uri> >>> <taglib-location>/WEB-INF/sslext.tld</taglib-location> >>> </taglib> >>> >>> <!-- End: Struts Tag Library Descriptors --> >>> >>> <security-constraint> >>> <web-resource-collection> >>> <web-resource-name>ActionClasses</web-resource-name> >>> <url-pattern>/secure/*</url-pattern> >>> <url-pattern>/redirect_home.jsp</url-pattern> >>> </web-resource-collection> >>> <auth-constraint> >>> <role-name>*</role-name> >>> </auth-constraint> >>> </security-constraint> >>> >>> >>> <login-config> >>> <auth-method>FORM</auth-method> >>> <realm-name>ISISModule</realm-name> >>> <form-login-config> >>> <form-login-page>/realLogin.do?method=login</form-login-page> >>> >>> <form-error-page>/realLogin.do?method=loginFailed</form-error-page> >>> </form-login-config> >>> </login-config> >>> >>> <security-role> >>> <description>A user with no permissions</description> >>> <role-name>nobody</role-name> >>> </security-role> >>> >>> <security-role> >>> <description>Administrator Web</description> >>> <role-name>Admin Web</role-name> >>> </security-role> >>> >>> <security-role> >>> <description>Head Office</description> >>> <role-name>Head Office</role-name> >>> </security-role> >>> >>> >>> </web-app> >>> >>> Cheers, >>> Jim. >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >> >> >> >> -- >> Become a Wicket expert, learn from the best: http://wicketinaction.com >> Apache Wicket 1.3.4 is released >> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. >> >> --------------------------------------------------------------------- >> 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]
