java - 如何在 Spring Boot 中禁用 ErrorPageFilter?

标签 java spring web-services soap spring-boot

我正在创建一个 SOAP应该在 Tomcat 上运行的服务。
我正在为我的应用程序使用 Spring Boot,类似于:

@Configuration
@EnableAutoConfiguration(exclude = ErrorMvcAutoConfiguration.class)
public class AppConfig {
}


我的网络服务(示例):

@Component
@WebService
public class MyWebservice {

    @WebMethod
    @WebResult
    public String test() {
        throw new MyException();
    }
}

@WebFault
public class MyException extends Exception {
}


问题:
每当我在 webservice 类中抛出异常时,服务器上都会记录以下消息:

ErrorPageFilter: Cannot forward to error page for request [/services/MyWebservice] as the response has already been committed. As a result, the response may have the wrong status code. If your application is running on WebSphere Application Server you may be able to resolve this problem by setting com.ibm.ws.webcontainer.invokeFlushAfterService to false


问题:
我怎样才能防止这种情况发生?

最佳答案

要在 Spring Boot(使用 1.3.0.RELEASE 测试)中禁用 ErrorPageFilter,请将以下 bean 添加到您的 Spring 配置中:

@Bean
public ErrorPageFilter errorPageFilter() {
    return new ErrorPageFilter();
}

@Bean
public FilterRegistrationBean disableSpringBootErrorFilter(ErrorPageFilter filter) {
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
    filterRegistrationBean.setFilter(filter);
    filterRegistrationBean.setEnabled(false);
    return filterRegistrationBean;
}

关于java - 如何在 Spring Boot 中禁用 ErrorPageFilter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30170586/

相关文章:

mysql - hibernate ManyToOne 关系对象中的 GWT rpc.SerializationException

spring - 针对不同的 url 模式使用不同的过滤器

java - 谷歌地图 API 出现 DexIndexOverflowException

java - AdapterView 是原始类型。对泛型类型 AdapterView<T> 的引用应该被参数化

java - 我们可以使用 MongoRespository 进行 findByNameAndPassword() 这种类型的查询吗?

javascript - 添加 Access-Control-Allow-Origin : * 后仍然出现 "No ' Access Control Allow Origin' header is present on the requested resources”错误

c# - 使用 Excel 文件检索数据以进行单元测试 C#

php - Android 客户端 : Web service - what's the correct SOAP_ACTION, METHOD_NAME、NAMESPACE、我应该使用的 URL?

JavaFX实时带时间轴的LineChart

java - Java 的数据抽象或数据连接器框架