我使用Spring
和CXF
创建了一个简单的soap webservice。我现在正在尝试为xml请求启用GZIP压缩。
以下将接受压缩请求,但将响应未压缩。为什么呢?
@Component
@WebService
public class SoapService {
}
@Autowired
private SpringBus bus;
EndpointImpl end = new EndpointImpl(bus, new SoapService());
end.getFeatures().add(config.gzipFeature());
ep.publish("/SoapService");
请求此SoapService:
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml;charset=UTF-8
Headers: {accept-encoding=[gzip,deflate], content-encoding=[gzip], connection=[Keep-Alive], content-type=[text/xml;charset=UTF-8], ...}
响应(空标题!!):
Content-Type: text/xml
Headers:
Payload: ...
为什么没有使用gzip压缩响应?
答案 0 :(得分:4)
您需要在界面中添加@GZIP
注释。 Here's the documentation。如果我没记错的话,你需要在spring config中声明GZIPOutInterceptor
。
或者,您可以手动将GZIPOutInterceptor添加到终端。