All,

The servlet transport contains a bunch of calls to the servlet API
that are guarded by a try { ... } catch (Throwable t) { ... } block.
The original purpose for this was to support containers implementing
older versions of the servlet API. The problem with this is that since
Throwable is catched (instead of just NoSuchMethodError), error
reporting is inaccurate when the call fails for other reasons. E.g. I
just got the following message in the logs of a misconfigured Axis2
instance:

Old Servlet API :java.lang.StackOverflowError

I checked that all methods protected like this are defined in version
2.3 of the servlet API. That version was published in 2001 and
implemented by Tomcat 4. Therefore, instead of trying to fix the error
reporting, I think it's time to discontinue support for older versions
and just remove the try-catch blocks.

I will do the change, and if anybody sees a problem with this, we can revert.

Andreas

Reply via email to