1

I am using the HttpClient to post a request on a REST API as follows

    HttpClient client = HttpClientBuilder.create().build();
    HttpPost post = new HttpPost(url);
    post.setHeader("Content-Type","application/json");
    post.addHeader("Authorization", "Bearer " +authToken);
    JSONObject json = new JSONObject();
    json.put("image_url", ");
    json.put("job_fqn","");
    JSONArray routesJsonArray = new JSONArray();
    routesJsonArray.put(0, "");
    json.put("routes",routesJsonArray);
    StringEntity params = new StringEntity(json.toString());
    post.setEntity(params);
    HttpResponse  response = client.execute(post);
    client.getConnectionManager().shutdown();

This gives a

java.lang.NoSuchFieldError: INSTANCE

error at the time oh HTPClient object creation

My pom file contains

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.4.1</version>
    </dependency>

My resolved dependencies contain

 httpclient:4.4.1
 httpcore 4.4.1

Since its the same version I am assuming it shouldnt cause version conflicts. Is there anythin else that I am missing?

Here is the stack trace

[[ERROR] [06/30/2016 13:26:27.762] [-akka.actor.default-dispatcher-7] [ActorSystem(deployer)] Uncaught error from thread [-akka.actor.default-dispatcher-7] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.NoSuchFieldError: INSTANCE
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:52)
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56)
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84)
    at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:493)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:149)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:138)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:114)
    at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726)

When I try to reach line 726 of the HttpClientBuilderClass I dont see the builder method? The class end on line 431!

user_mda
  • 18,148
  • 27
  • 82
  • 145

0 Answers0