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
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);
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);