views:

42

answers:

1

I'm debugging an old Struts 1.2 w/ Tiles application running on Oracle App Server 10.1.3. There are some scenarios in which request.getQueryString() seems to improperly return null and it seems to have started doing this without any changes to the application code, indicating that server patching may be a factor. I added some scriptlet code to one of the problematic jsps that's being called via Struts Action in a Tile:

request.getMethod(): <%= request.getMethod() %><br />
request.getParameter("cmd"): <%= request.getParameter("cmd") %><br />
request.getQueryString(): <%= request.getQueryString() %><br/>

Which produces:

request.getMethod(): GET
request.getParameter("cmd"): doThis
request.getQueryString(): null

The address in the browser is: https://serverhost:8080/app/ActionName.do?cmd=doThis

I tried using ieHTTPHeaders and the browser is sending:

GET /app/ActionName.do?cmd=doThis HTTP/1.1

And getting back:

HTTP/1.1 200 OK

So, no redirects or hidden POSTS going on.

Does anyone know if there's any application code or configuration that could lead to this? Otherwise I'll concentrate on the app server/JVM/OS patch levels.

+2  A: 

If possible, change your application server. Any product of oracle (apart from the database) should be avoided (an example was their JDeveloper IDE).

If you really need an application server, go for Glassfish or WebLogic (it's owned by Oracle, but was BEA until recently). If you don't need a full-featured application server, Tomcat is perfectly OK.

(Your additional comment is another argument on changing the app server - it works in one case and doesn't work in another.)

If switching is not an option, I guess you have commercial support, so be very rude and harsh and make Oracle fix the issues as fast as possible.

Bozho
App server choice is out of my hands so I'll have to call Oracle. Thanks for your advice Bozho.
jlpp