diff --git a/proxy/pom.xml b/proxy/pom.xml
index 758356aa7..90dc38593 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -348,7 +348,7 @@
       <dependency>
         <groupId>org.jboss.resteasy</groupId>
         <artifactId>resteasy-bom</artifactId>
-        <version>3.15.3.Final</version>
+        <version>5.0.6.Final</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
diff --git a/proxy/src/main/java/com/wavefront/agent/api/APIContainer.java b/proxy/src/main/java/com/wavefront/agent/api/APIContainer.java
index 086168eb0..3bcc27185 100644
--- a/proxy/src/main/java/com/wavefront/agent/api/APIContainer.java
+++ b/proxy/src/main/java/com/wavefront/agent/api/APIContainer.java
@@ -30,12 +30,12 @@
 import org.apache.logging.log4j.Logger;
 import org.jboss.resteasy.client.jaxrs.ClientHttpEngine;
 import org.jboss.resteasy.client.jaxrs.ResteasyClient;
-import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
 import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
-import org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine;
+import org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient43Engine;
 import org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory;
-import org.jboss.resteasy.plugins.interceptors.encoding.AcceptEncodingGZIPFilter;
-import org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor;
+import org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl;
+import org.jboss.resteasy.plugins.interceptors.AcceptEncodingGZIPFilter;
+import org.jboss.resteasy.plugins.interceptors.GZIPDecodingInterceptor;
 import org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider;
 import org.jboss.resteasy.spi.ResteasyProviderFactory;
 
@@ -340,10 +340,10 @@ protected boolean handleAsIdempotent(HttpRequest request) {
                     .setSocketTimeout(proxyConfig.getHttpRequestTimeout())
                     .build())
             .build();
-    final ApacheHttpClient4Engine httpEngine = new ApacheHttpClient4Engine(httpClient, true);
+    final ApacheHttpClient43Engine httpEngine = new ApacheHttpClient43Engine(httpClient, true);
     // avoid using disk at all
     httpEngine.setFileUploadInMemoryThresholdLimit(100);
-    httpEngine.setFileUploadMemoryUnit(ApacheHttpClient4Engine.MemoryUnit.MB);
+    httpEngine.setFileUploadMemoryUnit(ApacheHttpClient43Engine.MemoryUnit.MB);
     return httpEngine;
   }
 
@@ -366,7 +366,7 @@ private <T> T createServiceInternal(
       Class<T> apiClass,
       ResteasyProviderFactory resteasyProviderFactory) {
     ResteasyClient client =
-        new ResteasyClientBuilder()
+        new ResteasyClientBuilderImpl()
             .httpEngine(clientHttpEngine)
             .providerFactory(resteasyProviderFactory)
             .build();
diff --git a/proxy/src/test/java/com/wavefront/agent/HttpClientTest.java b/proxy/src/test/java/com/wavefront/agent/HttpClientTest.java
index fabebdfba..118267bc6 100644
--- a/proxy/src/test/java/com/wavefront/agent/HttpClientTest.java
+++ b/proxy/src/test/java/com/wavefront/agent/HttpClientTest.java
@@ -23,9 +23,10 @@
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.protocol.HttpContext;
 import org.jboss.resteasy.client.jaxrs.ResteasyClient;
-import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
 import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
-import org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient4Engine;
+import org.jboss.resteasy.client.jaxrs.engines.ApacheHttpClient43Engine;
+import org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory;
+import org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl;
 import org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider;
 import org.jboss.resteasy.spi.ResteasyProviderFactory;
 import org.junit.Test;
@@ -63,7 +64,8 @@ public void run() {
 
   @Test(expected = ProcessingException.class)
   public void httpClientTimeoutsWork() throws Exception {
-    ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
+    ResteasyProviderFactory factory =
+        new LocalResteasyProviderFactory(ResteasyProviderFactory.getInstance());
     factory.registerProvider(JsonNodeWriter.class);
     factory.registerProvider(ResteasyJackson2Provider.class);
 
@@ -116,8 +118,8 @@ public Socket connectSocket(
             .build();
 
     ResteasyClient client =
-        new ResteasyClientBuilder()
-            .httpEngine(new ApacheHttpClient4Engine(httpClient, true))
+        new ResteasyClientBuilderImpl()
+            .httpEngine(new ApacheHttpClient43Engine(httpClient, true))
             .providerFactory(factory)
             .build();
 
diff --git a/proxy/src/test/java/com/wavefront/agent/PushAgentTest.java b/proxy/src/test/java/com/wavefront/agent/PushAgentTest.java
index 67ec74339..5a513efb4 100644
--- a/proxy/src/test/java/com/wavefront/agent/PushAgentTest.java
+++ b/proxy/src/test/java/com/wavefront/agent/PushAgentTest.java
@@ -74,6 +74,7 @@
 import java.util.concurrent.TimeUnit;
 import java.util.zip.GZIPOutputStream;
 import javax.annotation.Nonnull;
+import javax.annotation.concurrent.NotThreadSafe;
 import javax.net.SocketFactory;
 import javax.net.ssl.HttpsURLConnection;
 import javax.net.ssl.KeyManager;
@@ -81,7 +82,6 @@
 import javax.net.ssl.SSLSocketFactory;
 import javax.net.ssl.TrustManager;
 import junit.framework.AssertionFailedError;
-import net.jcip.annotations.NotThreadSafe;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
 import org.apache.http.client.HttpClient;
