I tried declaring the filter to invoke the request dispatcher but still got the same exception. I tested to see if the session exists in the Struts code and it doesn't; which is extremely fustrating! Anyone shed any more light?
Cheers for all you help, James. On Wed, Jul 30, 2008 at 5:38 PM, Zappaterrini, Larry <[EMAIL PROTECTED]> wrote: > One more suggestion is to declare the filter so that it is invoked when > request dispatcher methods are called: > > <filter-mapping> > <filter-name>WicketSessionFilter</filter-name> > <url-pattern>*.do</url-pattern> > <dispatcher>REQUEST</dispatcher> > <dispatcher>INCLUDE</dispatcher> > </filter-mapping> > > I'm not sure if that is what is happening in this situation, but it > might be worth a shot. > > -----Original Message----- > From: James Perry [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 30, 2008 7:31 AM > To: [email protected] > Subject: Re: WicketSessionFilter Problem: > java.lang.IllegalStateException > > 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.jav > a:24) >>>> > com.mypharmisis.struts.isis.actions.AbstractEasyAction.displayPage(Abstr > actEasyAction.java:52) >>>> > com.mypharmisis.struts.isis.actions.EasyOrderHomeAction.displayPage(Easy > OrderHomeAction.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.WicketSessionFilte > r</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.IsisContextListene > r</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] > > _____________ > > The information contained in this message is proprietary and/or confidential. > If you are not the > intended recipient, please: (i) delete the message and all copies; (ii) do > not disclose, > distribute or use the message in any manner; and (iii) notify the sender > immediately. In addition, > please be aware that any message addressed to our domain is subject to > archiving and review by > persons other than the intended recipient. Thank you. > _____________ > > --------------------------------------------------------------------- > 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]
