I encountered a problem with the RPCRouterServlet.doPost() exception
handling itself throwing an exception.  One problem I had in debugging it
was that the ServletException that was created and thrown was doing a new
ServletException("blah blah blah: " + e), which is pretty useless.  I
changed it to new ServletException("blah blah blah.", e).  While I was at it
I made the same change to MessageRouterServlet.  I changed
MessageRouterServlet version 1.33 from mainline and RPCRouterServlet version
1.37 from mainline.

Also, the real cause of the exception in the exception handling was an
ArrayIndexOutOfBoundsException in the for loop on line 318 of
TransportMessage.  I'm not going to try to fix it because I don't understand
what that loop is doing, but I'll just point out that incrementing an index
into an array without doing bounds checking is quite naughty. :-0  I think
the situation might have occurred when the message was completely empty, a
result of me not understanding EnvelopeEditors.  This was against whatever
version of TransportMessage is used in the 2.3 release.


thanks

john



375c375
<         throw new ServletException ("Error building response envelope.", e);
---
>         throw new ServletException ("Error building response envelope: " + e);
418c418
<         throw new ServletException ("Error building response envelope.", e);
---
>         throw new ServletException ("Error building response envelope: " + e);

Reply via email to