私は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);
}
ロガーがnullであるため。 デバッグ中にわかったように、私の拡張ExceptionResolverがCGLIBによってプロキシされているため、これが発生します。 CGLIBプロキシは、私のリゾルバのその中にコピーを持っていますが、すべてのNULLフィールドで、しかし、それはまたのように見える私の実際の(初期化)リゾルバへの参照が含まれます。私は、これらのコールバックの内側に行けば
CGLIB$CALLBACK_0 = {org.spring[email protected]19853}
CGLIB$CALLBACK_1 = {org.springf[email protected]19854}
を、targetSource-ターゲット、私は初期化されたプロパティで私のリゾルバを見ることができます。
だから、どのように私はこの問題を解決することができますか?
実は、私はルールがするとき、唯一私が指定した1つの豆のために適用されると思った:(私を助けていません現実には、プロジェクト上のすべてのプロキシは無効になっていますが、解決策を探しています。 – Aleksei