import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Invocation; import javax.ws.rs.client.WebTarget; import org.glassfish.jersey.client.ClientProperties; import org.glassfish.jersey.client.oauth1.AccessToken; import org.glassfish.jersey.client.oauth1.ConsumerCredentials; import org.glassfish.jersey.client.oauth1.OAuth1ClientSupport; import org.glassfish.jersey.filter.LoggingFilter; import org.glassfish.jersey.jackson.JacksonFeature; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.message.DeflateEncoder; import org.glassfish.jersey.message.GZipEncoder; import org.json.JSONObject; import org.json.XML; String ACCOUNT = "6XXXX271"; String SIGNATURE_METHOD = "HMAC-SHA1"; String CONSUMER_KEY = "99x5625555884f5dbbdb826342135xx8"; String CONSUMER_SECRET = "123456789e6ed9da"; String TOKEN = "2x4457371d144976b2fd2f741a00c2a1"; String TOKEN_SECRET = "44447476d81vd7xx"; String URL = "https://va.data.liveperson.net/operations/api/account/" + ACCOUNT + "/queuehealth?timeframe=" + "30" + "&skillIds=" + "all" + "&interval=false&v=1"; String RESPONSE_TYPE = "application/json"; int CONNECTION_TIME_OUT = 120; int READ_TIME_OUT = 120; Logger log = service.getLogger(); Client client = ClientBuilder.newBuilder() .register(JacksonFeature.class).register(new LoggingFilter()) .register(MultiPartFeature.class).register(GZipEncoder.class) .register(DeflateEncoder.class).build(); // build a new feature from the stored consumer credentials and // access token if (SIGNATURE_METHOD == null || SIGNATURE_METHOD.equals("")) SIGNATURE_METHOD = "PLAINTEXT"; client = client.register(OAuth1ClientSupport.builder(new ConsumerCredentials(CONSUMER_KEY, CONSUMER_SECRET.getBytes())) .signatureMethod(SIGNATURE_METHOD).feature() .accessToken(new AccessToken(TOKEN, TOKEN_SECRET)) .build()); client.property(ClientProperties.CONNECT_TIMEOUT, CONNECTION_TIME_OUT * 1000); client.property(ClientProperties.READ_TIMEOUT, READ_TIME_OUT * 1000); // define connection to the resource URL WebTarget webTarget = client.target(URL); // define header parameters Invocation.Builder builder = null; if (RESPONSE_TYPE != null) builder = webTarget.request(RESPONSE_TYPE); else builder = webTarget.request(); String jsonResponse = builder.get().readEntity(String.class); log.info(jsonResponse); String xmlResponse = XML.toString(new JSONObject(jsonResponse)); log.info(xmlResponse);