Hide Forgot
Because GWT clients do not have all the exception classes that the server has (like EJBException or similar server-side only exceptions), or *GWTServiceImpl classes have to scrub all exceptions before getting thrown to the client. We do this by throwing java.lang.RuntimeException whose message is all the messages of the server-side exception/causes. Alot of times, the GWT exception message this produces (that we show in the message center) doesn't help narrow down the real problem. We need to correlate this gwt exception message with the server-side exception stack trace. However, lots of times, we do not log the exception on the server and thus we have no logged trace of what the error was or where it happened or its root cause. We need a way for our GWTServiceImpl classes to log a server-side stack trace and send up the exception to the gwt client with some kind of index that we can later correlate to the server exception message.
commit 154b069 All *GWTServiceImpl's now call : org.rhq.enterprise.gui.coregui.server.gwt.AbstractGWTServiceImpl.getExceptionToThrowToClient and throw its returned runtime exception. That method will log the exception server-side and return back a scrubbed exception that can be passed to the gwt client, which also includes an id number that you can use to correlate back to the server side log message/stack trace.
I have no idea how to test this. Just do something that causes a serve-side error and see that the exception is logged and you get a [####] id in the GWT UI message center's message that correlates the gwt exception to the server side exception.
i am seeing in the message center ... the error messages contain both the UI error ...AND the stack trace from the server. so this is the correlation between UI exception and server exception.
Bookkeeping - closing bug - fixed in recent release.