【问题标题】:How to enable compression on the server side with CXF?如何使用 CXF 在服务器端启用压缩?
【发布时间】:2023-03-23 11:43:01
【问题描述】:

我正在使用Spring 和CXF 创建一个soap web 服务客户端。启用日志记录 + gzip 压缩的首选方法是什么?应该使用注释还是直接以编程方式添加功能?

@Component
@WebService
@GZIP
@Logging(pretty = true)
public class SoapService {
}

或

EndpointImpl end = new EndpointImpl(new SpringBus(), new SoapService());
LoggingFeature feature = new LoggingFeature();
feature.setPrettyLogging(true);
end.getFeatures().add(feature);
end.getFeatures().add(new GZIPFeature());
end.publish("/SoapService");

这有关系吗?你喜欢什么?

【问题讨论】:

    标签: java spring web-services soap cxf


    【解决方案1】:

    就日志记录而言,the Apache CXF documentation contains following:

    通过使用单独的输入/输出拦截器来激活日志记录,这些拦截器可以 根据需要附加到客户端和/或服务。这些 可以通过编程方式(通过 Java 代码)指定拦截器 和/或注释)或通过使用配置文件。

    配置文件可能是最好的。他们提供了两个好处 程序化配置:

    1. 可以更改日志记录要求,而无需重新编译 代码
    2. 无需将特定于 Apache CXF 的 API 添加到您的代码中, 这有助于它与其他符合 JAX-WS 的 Web 保持互操作性 服务堆栈

    因此,启用日志记录的首选方式似乎是使用配置(=Spring 配置文件),看到您计划使用 CFX+Spring 应该没问题。我认为同样的推理也适用于启用 GZIP 压缩。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 2010-12-16
      • 2013-02-24
      • 1970-01-01
      • 2012-01-04
      相关资源
      最近更新 更多