0

我正在尝试对我的 Spring Web 服务请求/响应进行正式审计。

我在我的 Spring 配置中有这个:

<ws:interceptors>   
   <bean class="org.springframework.ws.soap.server.endpoint.interceptor.SoapEnvelopeLoggingInterceptor"/>
</ws:interceptors>

这很好,并将请求和响应记录到我的 JBoss 日志文件中。不过,我想要的是能够适应这一点并更清晰地记录这些请求/响应,以及如何获取数据,以便我可以写入数据库中的审计记录。

如何在上面进行调整,以便我可以映射到我的一个 bean 或类似的并获取请求和响应中的数据?

4

1 回答 1

2

您应该能够创建一个子类SoapEnvelopeLoggingInterceptor并覆盖 logMessage(String)以执行您想要的操作。例子:

<ws:interceptors>   
   <bean class="org.mypackage.SysErrLoggingInterceptor"/>
</ws:interceptors>


package org.mypackage;

public class SysErrLoggingInterceptor extends SoapEnvelopeLoggingInterceptor {
    @Override
        protected void logMessage(String message) {
        System.err.println(message); 
        /* Example, here you could be logging to DB or whatever you want */
    }

}
于 2013-01-07T14:32:04.970 回答