I'm still curious to know if there's a better way to register the deserializer, but I have it all working now. Anyone that wants to use hessian clients on appengine will probably want this code:
http://code.google.com/p/unsuck/source/browse/#svn%2Ftrunk%2Fsrc%2Funsuck%2Fhessian An example of how to use it is here: http://code.google.com/p/scratchmonkey/source/browse/appengine/hessian/src/test/GoServlet.java It's fairly crude - it ignores extra fields on custom exceptions - but it's a lot better than getting an opaque illegal access error from GAE. Jeff On Sun, Feb 20, 2011 at 1:17 AM, Jeff Schnitzer <j...@infohazard.org> wrote: > It looks like this won't work by putting... > > java.lang.Throwable=my.Deserializer > > ...in my META-INF/hessian/deserializers, will it? From poking through > the code, it seems that this would only activate for specific > instances of Throwable, not subclasses of Throwable. > > Am I right that the way to do this is to build a SerializerFactory > that will create a Deserializer for any Throwable and add it to my > client by calling: > > HessianProxyFactory proxyFact = new HessianProxyFactory(); > proxyFact.getSerializerFactory().addFactory(myThrowableSerializerFactory) > > ? > > Thanks, > Jeff > > On Sun, Feb 20, 2011 at 12:41 AM, Jeff Schnitzer <j...@infohazard.org> wrote: >> I'm trying to write a smarter (java) deserializer for Throwable and >> StackTraceElement, one that will work on Appengine. Between various >> constructors and Throwable.setStackTrace(), it should be possible to >> reconstitute exceptions without setting private fields. >> >> Is there any good documentation somewhere for the contract of >> Deserializer, JavaDeserializer, and friends? I can probably figure it >> all out from the code, but it's slow going. >> >> Thanks, >> Jeff >> > _______________________________________________ hessian-interest mailing list hessian-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/hessian-interest