Reputation: 13038
I need to contact a proprietary http service, not supporting chunks. I started using as documented here so i create the client this way:
Client client = ClientBuilder.newBuilder().newClient();
WebTarget target = client.target("http://localhost:8080/rs");
The problem is how to configure the client, how to disable chunking. The way documented here doesn't work for me (wrong classes).
Thanks in advance
Upvotes: 0
Views: 5591
Reputation: 484
If you'd like to continue to use the ClientBuilder
etc, you can do this instead:
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);
Upvotes: 4
Reputation: 10034
Rather that using jaxrs standard Client you can use org.apache.cxf.jaxrs.client.WebClient
part of cxf-rt-rs-client
dependency.
WebClient client = WebClient.create("http://localhost:8080/rs");
WebClient.getConfig(client).getHttpConduit().getClient().setAllowChunking(false);
Upvotes: 2