I have WebService. I have written my own exception resolver, by extending SoapFaultMappingExceptionResolver.
Whenever I'm trying to throw exceptions, I'm getting NPE:
java.lang.NullPointerException
at org.springframework.ws.server.endpoint.AbstractEndpointExceptionResolver.resolveException(AbstractEndpointExceptionResolver.java:104)
And this happens on line:
if (logger.isDebugEnabled()) {
logger.debug("Resolving exception from endpoint [" + endpoint + "]: " + ex);
}
Because logger is null. As I understood during debugging, this happens because mine extended ExceptionResolver is being proxied by CGLIB. CGLIB proxy has inside it copy of my resolver, but with all null fields, however, it also contains references to my actual (initialized) resolver, which looks like:
CGLIB$CALLBACK_0 = {org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor@19853}
CGLIB$CALLBACK_1 = {org.springframework.aop.framework.CglibAopProxy$StaticUnadvisedInterceptor@19854}
If i go inside those callback, targetSource-target, i can see my resolver with initialized properties.
So how can I fix this ?