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);