0
我有WebService。 我已經編寫了自己的異常解析器,通過擴展SoapFaultMappingExceptionResolver。AbstractEndpointExceptionResolver,cglib代理,空字段
每當我試圖拋出異常,我得到NPE:
java.lang.NullPointerException
at org.springframework.ws.server.endpoint.AbstractEndpointExceptionResolver.resolveException(AbstractEndpointExceptionResolver.java:104)
而這發生在行:
if (logger.isDebugEnabled()) {
logger.debug("Resolving exception from endpoint [" + endpoint + "]: " + ex);
}
因爲記錄爲空。 正如我在調試過程中所理解的,這是因爲我的擴展ExceptionResolver正在被CGLIB代理。 CGLIB代理已經在它裏面複製我的解析器,但所有空字段,但是,它也包含了我的實際(初始化)解析器,它看起來像引用:
CGLIB$CALLBACK_0 = {org.spring[email protected]19853}
CGLIB$CALLBACK_1 = {org.springf[email protected]19854}
如果我的回調,targetSource-往裏走目標,我可以看到我的解析器與初始化屬性。
那麼我該如何解決這個問題?
事實上,這並沒有幫助我:(我認爲規則將只爲一個bean的應用我指定,當實際上,所有代理項目都被禁用,仍在尋找解決方案。 – Aleksei