Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 未注册自定义侦听器_Spring Boot - Fatal编程技术网

Spring boot 未注册自定义侦听器

Spring boot 未注册自定义侦听器,spring-boot,Spring Boot,全部, 我正试图使用下面粘贴的代码为基于SOAP的web服务注册一个自定义拦截器 在我的日志中,我没有看到任何证据表明调用了这两个类中的任何一个 我希望任何人对如何解决这个问题有任何想法 谢谢, 鲷鱼爸爸 public class InquiryServiceInterceptor extends HandlerInterceptorAdapter { private static Logger rollingFileLogger = LogManager.getLogger(Inq

全部,

我正试图使用下面粘贴的代码为基于SOAP的web服务注册一个自定义拦截器

在我的日志中,我没有看到任何证据表明调用了这两个类中的任何一个

我希望任何人对如何解决这个问题有任何想法

谢谢, 鲷鱼爸爸

public class InquiryServiceInterceptor extends HandlerInterceptorAdapter {

     private static Logger rollingFileLogger = LogManager.getLogger(InquiryServiceInterceptor.class);

     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

         rollingFileLogger.debug("Entered preHandle");

         return true;
     }

     @Override
     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

         rollingFileLogger.debug("Entered postHandle");
     }

     @Override
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception) throws Exception {

         rollingFileLogger.debug("Entered afterCompletion");

     }

}

@Component
public class InquiryServiceInterceptorAppConfig extends WebMvcConfigurerAdapter {

    private static Logger rollingFileLogger = LogManager.getLogger(InquiryServiceInterceptorAppConfig.class);

    @Autowired
    InquiryServiceInterceptor inquiryServiceInterceptor;

     @Override
     public void addInterceptors(InterceptorRegistry registry) {

         rollingFileLogger.debug("Adding interceptor 'inquiryServiceInterceptor'...");

         registry.addInterceptor(inquiryServiceInterceptor);

     }

}



终于找到了解决办法

1) 将以下内容添加到spring-ws-servlet.xml文件中

<!-- Intercept all requests -->
<sws:interceptors>
    <bean class="xxx.xxxxxxx.xxx.xxx.InquiryServiceInterceptor"/>
</sws:interceptors>
public class InquiryServiceInterceptor implements EndpointInterceptor  {

     private static Logger rollingFileLogger = LogManager.getLogger(InquiryServiceInterceptor.class);


     @Override
    public boolean handleRequest(MessageContext messageContext, Object endpoint) throws Exception {

         rollingFileLogger.debug("Entered handleRequest");

         return true;
    }

    @Override
    public boolean handleResponse(MessageContext messageContext, Object endpoint) throws Exception {

        rollingFileLogger.debug("Entered handleResponse");

        return false;
    }

    @Override
    public boolean handleFault(MessageContext messageContext, Object endpoint) throws Exception {

        rollingFileLogger.debug("Entered handleFault");

        return false;
    }

    @Override
    public void afterCompletion(MessageContext messageContext, Object endpoint, Exception ex) throws Exception {

        rollingFileLogger.debug("Entered afterCompletion");

    }

}```