2010-07-14 7 views
7

Nella mia applicazione RESTEasy ricevo un java.lang.reflect.UndeclaredThrowableException, perché un'eccezione controllata viene generata da un metodo che non dichiara l'eccezione nella clausola throws.
Quindi sto scrivendo un UndeclaredThrowableExceptionMapper. Lo UndeclaredThrowableException avvolge la vera eccezione; Chiamo e.getCause() per recuperarlo.
Posso quindi lanciarlo o cercare in qualche modo il corretto ExceptionMapper per gestirlo?Chiama ExceptionMapper da un altro ExceptionMapper in JAX-RS

risposta

11

È possibile provare ad aggiungere un campo/proprietà @Context javax.ws.rs.ext.Providers alla classe UndeclaredThrowableExceptionMapper.
Quindi utilizzare Providers.getExceptionMapper(Class) per cercare il vero mapping delle eccezioni che si desidera utilizzare.

+0

Funziona perfettamente! Grazie! –