I am having the same issue running T5 and WebSphere 6.1. How soon can this make its way into the build? We need this for a production release. thanks PM
On Wed, Sep 17, 2008 at 3:08 AM, Howard Lewis Ship <[EMAIL PROTECTED]> wrote: > Odd, I thought this code was already in the framework. Checking now. > > On Mon, Aug 20, 2007 at 8:28 AM, Willem Dekker <[EMAIL PROTECTED]> > wrote: > > > > I am evaluating Tapestry 5.05 on websphere 6.1 with RAD7.0 as IDE. > > > > I have imported the tutorial1 application and it deployed al right. > > But when I tried to start the application with > > http://localhost:9081/tutorial1 in a browser I had the following > message: > > Error 404: SRVE0190E: File not found: {0} > > Or when I try the direct home url http://localhost:9081/tutorial1/startI > > had the same kind of message: > > Error 404: SRVE0190E: File not found: /start > > > > So I did a bit of searching and found out that it had something to to > with > > IBM's issues PK31377 and PK33090 which are fixed in fixpak 9 for > Websphere > > 6.1. > > After enabling the com.ibm.ws.webcontainer.invokeFiltersCompatibility > > property I tried the application again but I got the same kind of Error > in > > my browser. > > > > I've attached the tapestry source to my environment and set breakpoints > to > > find out where things are going wrong. > > What I have found is that the problem lies in the implementation of the > > getPath() method of the Request interface. It calls the > HttpServletRequest's > > getServletPath() method which returns an empty string("") in Websphere > but > > when calling the getPathInfo() method on the request it returns the > correct > > String. On other web-containers it probably works fine(I've tested on > tomcat > > 5.5). It seems like a difference in interpretation of the spec, which > says > > the following of the above methods: > > > > • Servlet Path: The path section that directly corresponds to the mapping > > which activated this request. This path starts with a'/' character except > in > > the > > case where the request is matched with the '/*' pattern, in which case it > is > > an > > empty string. > > • PathInfo: The part of the request path that is not part of the Context > > Path or > > the Servlet Path. It is either null if there is no extra path, or is a > > string with a > > leading '/'. > > (source: Java(TM) Servlet Specification 2.4 Final Release) > > > > To temporary solve this problem I have created a contribute method for > the > > RequestHandler which instantiate an extended implementation of the > > RequestImp with an overridden implementation of the getPath() method like > > this: > > @Override > > public String getPath() { > > //Websphere returns the path in the getPathInfo() > > String path = request.getPathInfo(); > > //path == null so no Websphere > > if (path == null) { > > return super.getPath(); > > } > > //TODO find out if this is necessary > > if (path.length() == 0) { > > path = "/"; > > } > > return path; > > } > > > > Now I can finally enjoy tapestry 5 development on Websphere 6.1. However > I > > don't think this should be a basic thing WAS developers should do when > the > > want to create a T5 application. > > Hopefully this issue could be fixed somehow in a future release. > > > > Cheers, > > > > Willem > > > > > > > > -- > > View this message in context: > http://www.nabble.com/T5-on-websphere-6.1-problems-tf4299547.html#a12238072 > > Sent from the Tapestry - Dev mailing list archive at Nabble.com. > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > -- > Howard M. Lewis Ship > > Creator Apache Tapestry and Apache HiveMind > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
