Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
If I have an object on the server which throws a custom exception, at present the XML-RPC server code will create a generic XmlRpcException.
Notably, this causes two problems for the caller.
1. Because all errors are thrown as XmlRpcException, it becomes impossible to distinguish an error contacting the server, with an error thrown by the application code. In the former case, I would like to retry a couple more times. In the latter case, retrying is pointless and perhaps even harmful.
2. The stack trace is obliterated. Ideally, the stack trace would be serialised along with the rest of the exception and reconstructed on the client side.
As Throwable itself is Serializable and Apache XML-RPC already handles Serializable objects elsewhere, this should not be a major headache. I don't mind if it requires extensions to be enabled as I'm already forced to enable those to get support for returning null.