如何在cxf-jaxrs客户端中禁用分块

时间:2014-12-05 11:52:54

标签: http cxf jax-rs

我需要联系专有的http服务,而不是支持块。 我开始使用documented here,所以我用这种方式创建客户端:

Client client = ClientBuilder.newBuilder().newClient();
WebTarget target = client.target("http://localhost:8080/rs");

问题是如何配置客户端,如何禁用分块。 documented here对我不起作用的方式(错误的课程)。

提前致谢

2 个答案:

答案 0 :(得分:2)

如果您想继续使用ClientBuilder等,可以改为:

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import org.apache.cxf.jaxrs.client.WebClient;

Client client = ClientBuilder.newBuilder().build();
WebTarget target = client.target("https://www.example.com/");
target.request(); /* Must call this first to initialise the client in the target */
WebClient.getConfig(target).getHttpConduit().getClient().setAllowChunking(false);

答案 1 :(得分:1)

相反,使用jaxrs标准客户端,您可以使用org.apache.cxf.jaxrs.client.WebClient部分cxf-rt-rs-client依赖项。

WebClient client = WebClient.create("http://localhost:8080/rs");
WebClient.getConfig(client).getHttpConduit().getClient().setAllowChunking(false);