java-Spring-如何使SoapEnvelopeLoggingInterceptor比标准输出更正式地记录数据到日志文件

我正在尝试对Spring Web服务请求/响应进行正式审核.

我在Spring配置中就位了:

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

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

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

解决方法:

您应该只能够创建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 */
    }

}
上一篇:java-令牌拦截器在Struts 2中如何工作


下一篇:java-Struts 2.0中登录时使用的拦截器