You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Brugge, John" <jb...@Kraft.com> on 2001/07/25 19:27:02 UTC
RE: Struts on IBM WAS 4.0 - Error removing attributes from reques
t sc ope!
Yes, WAS 4.0 is a big step forward in usability. However, if you look
closely at the struts.jar file that is ships with, it's Struts 0.5.
That notwithstanding, the console looks like a pretty sophisticated app.
Probably not trivial for them to move it to Struts 1.0.
John
> -----Original Message-----
> From: Assenza, Chris [SMTP:cassenza@Accessdc.com]
> Sent: Wednesday, July 25, 2001 11:22 AM
> To: 'struts-user@jakarta.apache.org'
> Subject: RE: Struts on IBM WAS 4.0 - Error removing attributes from
> reques t sc ope!
>
> I had no problems with our test run with WAS 4.0 using the modified
> struts.jar I posted - heck the console is built with Struts. :-P
>
> Frankly, I feel like WAS 4.0 is a dream-come true as far as usability and
> administration. Yeah, Java isn't up to spec, but what else is new. At
> least it is easier to maintain.
>
> Our struts app deployed flawlessly from the EAR file without any extra
> manipulation from me outside of using their Application Assembly tool (ie.
> no moving WEB-INF, no pulling out DTD's, nadda). :D
>
> Be that as it may, our app didn't work 100%, but I am pretty sure that was
> an unrelated issue (IIS wasn't configured properly).
>
> Chris
>
> -----Original Message-----
> From: Pravin George [mailto:pgeorge@ebuilt.com]
> Sent: Wednesday, July 25, 2001 5:13 AM
> To: struts-user@jakarta.apache.org
> Subject: Re: Struts on IBM WAS 4.0 - Error removing attributes from
> request sc ope!
>
>
> you're right.... Websphere 4.0 is a pain to work with. I did get a struts
> application running on 3.5.3 but not on any later version.
>
>
>
> Calabrese, Jason" wrote:
>
> > Why can't IBM keep up. I don't think I'd ever recommended Websphere or
> > any other IBM java application.
> >
> > -----Original Message-----
> > From: Boulatian, Misak [mailto:misak@vantra.com]
> > Sent: Wednesday, July 25, 2001 8:07 AM
> > To: struts-user@jakarta.apache.org
> > Subject: RE: Struts on IBM WAS 4.0 - Error removing attributes from
> > reques t sc ope!
> >
> > It seems like you have the same problem as I was having with Powertier
> > app
> > server. The solution was that
> > the powertier current release was coming with an older jasper libraries
> > (jsp
> > engine) but struts is using the newer
> > ones. I hope this helps.
> > Thanks
> > Misak
> >
> > -----Original Message-----
> > From: Pravin George [mailto:pgeorge@ebuilt.com]
> > Sent: Tuesday, July 24, 2001 7:26 AM
> > To: struts-user@jakarta.apache.org
> > Cc: jcalabrese@devcor.com
> > Subject: RE: Struts on IBM WAS 4.0 - Error removing attributes from
> > reques t sc ope!
> >
> > Hi everyone,
> >
> > I wanted to clarify the status of Struts and Websphere 4
> > compatability. As a business partner to IBM, we are on the beta testing
> > program for Websphere 4.0 . This particular issue was brought to their
> > attention a couple of weeks ago. Last week we received word that it has
> > been fixed in the latest beta build and will not be an issue in the
> > final GA release.
> >
> > Pravin George,
> > Software Engineer,
> > eBuilt Inc. ,
> > Irvine, CA 92614.
> >
> > RE: Struts on IBM WAS 4.0 - Error removing attributes from
> > reques t sc ope!
> > Date:
> > Tue, 24 Jul 2001 13:16:48 -0700
> > From:
> > "Calabrese, Jason" <jc...@devcor.com>
> > Reply-To:
> > struts-user@jakarta.apache.org
> > To:
> > "'struts-user@jakarta.apache.org'"
> > <st...@jakarta.apache.org>
> >
> > I'm running struts on Websphere 3.5.4 and had similar problems.
> >
> > This is the response I got.
> >
> > > Check this out..
> > >
> > http://www.mail-archive.com/struts-user@jakarta.apache.org/msg10964.html
> >
> > > And..
> > > Sure thing - I already sent it but the list refused it due to its file
> >
> > size.
> > > As an alternative, I'll put it up on my personal FTP space and anyone
> > who
> > > wants it can download it from there! :)
> >
> > > Struts.jar with Form tag modifications:
> > http://www.enfused.com/struts.jar
> >
> > -----Original Message-----
> > From: Mark Wilson [mailto:Mark.Wilson@valtech.com]
> > Sent: Tuesday, July 24, 2001 1:07 PM
> > To: 'struts-user@jakarta.apache.org'
> > Subject: Struts on IBM WAS 4.0 - Error removing attributes from request
> > sc ope!
> >
> > Hello, thanks for you're attention.
> >
> > I am deploying the struts-example app on IBM Websphere App Server 4.0
> > and
> > receive an IllegalArgumentException - Can't remove attribute from
> > request
> > scope.
> >
> > the situation:
> >
> > I have drilled into the problem and discovered that IBM is using a
> > significantly different implementation of the class,
> > org.apache.jasper.runtime.PageContextImpl. Their class alters the logic
> >
> > of
> > removing attributes using the methods removeAttribute(String s, int i)
> > and
> > removeAttribute(String s).
> >
> > I have included the code in the next section of the e-mail. In summary,
> >
> > using WAS 4.0, attributes are not removed from request scope.
> >
> > This conflicts most directly with the struts framework class,
> > org.apache.struts.taglib.html.FormTag. FormTag calls
> > pageContext.removeAttribute(Constants.BEAN_KEY,
> > PageContext.REQUEST_SCOPE)
> > and pageContext.removeAttribute(Constants.FORM_KEY,
> > PageContext.REQUEST_SCOPE) within the doEndTag() method.
> >
> > Either of these method calls will generate an IllegalArgumentException
> > on
> > WAS 4.0.
> >
> > the code (more or less):
> >
> > org.apache.jasper.runtime.PageContextImpl (note: not the same code as
> > used
> > in tomcat's implementation...)
> >
> > public void removeAttribute(String s, int i)
> > {
> > switch (i)
> > {
> > case PAGE_SCOPE:
> > pageScopeAttributes.remove(s);
> > break;
> >
> > case REQUEST_SCOPE:
> > throw new IllegalArgumentException("Can't remove Attributes
> > from
> > request scope");
> >
> > case SESSION_SCOPE:
> > if (session == null)
> > throw new IllegalArgumentException("Can't access
> > SESSION_SCOPE without an HttpSession");
> > theSession.removeAttribute(s);
> > break;
> >
> > case APPLICATION_SCOPE:
> > theContext.removeAttribute(s);
> > break;
> > }
> > }
> >
> > // and ...
> >
> > public void removeAttribute(String s)
> > {
> > pageScopeAttributes.remove(s);
> > }
> >
> > // (pageScopeAttributes is a Hashtable of objects stored at Page
> > scope
> > only!)
> >
> > a partial solution:
> >
> > Replacing the removeAttribute(String s, int i) method calls with
> > removeAttribute(String s) within the struts class, FormTag.doEndTag()
> > relieves the exception, but on WAS 4.0, it will not remove the
> > attribute!
> > (in fact, only attributes found in page scope will be removed when the
> > method, removeAttribute(String s) is called.)
> >
> > testing results:
> >
> > Even though the attributes weren't removed from the request scope, those
> >
> > attributes were replaced by new objects the next time. This didn't seem
> >
> > to
> > affect the observable behavior of the struts example application.
> >
> > the question(s):
> >
> > We really, really want to use struts on WAS 4.0. There seems to be some
> >
> > logic within struts that relates to "null" attributes.
> >
> > What are the architectural implications of running an app built upon
> > struts
> > that will never have it's attributes removed from request scope?
> >
> > If there are implications, are there ways to work around the problems?
> >
> > Is it feasible to extend the struts framework to specifically target the
> >
> > changes noted in WAS 4.0? If so, do you have any recommendations how to
> >
> > go
> > about doing this?
> >
> > Thank you very much,
> > Mark