Refine search
Client client = Client.create(); WebResource webResource =client.resource("uri"); MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl(); queryParams.add("json", js); //set parametes for request appKey = "Bearer " + appKey; // appKey is unique number //Get response from RESTful Server get(ClientResponse.class); ClientResponse response = null; response = webResource.queryParams(queryParams) .header("Content-Type", "application/json;charset=UTF-8") .header("Authorization", appKey) .get(ClientResponse.class); String jsonStr = response.getEntity(String.class);
Client client = Client.create(); WebResource webResource = client.resource(baseuri); if (response.getStatus() != 200) { throw new RuntimeException("Failed : HTTP error code : " + response.getStatus()); String output = response.getEntity(String.class); System.out.println("Output from Server .... "); System.out.println(output + "\n");
Builder builder = client.resource(input.uri).type(input.contentType); if (cr.getStatus() != 204 && cr.hasEntity()) { response.body = extractBody(cr); response.statusCode = cr.getStatus(); response.reasonPhrase = cr.getStatusInfo().getReasonPhrase(); response.headers = cr.getHeaders(); logger.error(String.format("Got unexpected http response - uri: %s, vipAddress: %s, status code: %s", input.getUri(), input.getVipAddress(), cr.getStatus()), ex); if(cr.getStatus() > 199 && cr.getStatus() < 300) { if(cr.getStatus() != 204 && cr.hasEntity()) { return response; }else { String reason = cr.getEntity(String.class); logger.error(reason, ex); throw new Exception(reason);
ClientConfig cc = new DefaultClientConfig(); cc.getProperties().put( ClientConfig.PROPERTY_FOLLOW_REDIRECTS, true); Client c = Client.create(cc); WebResource r = c.resource("https://my_url"); ClientResponse response = r.get(ClientResponse.class); EntityTag e = response.getEntityTag(); String entity = response.getEntity(String.class); System.out.println("The response status is " + response.getStatus()); System.out.println("The enttiy body is " + entity);
private void checkAuthorization(ClientResponse response) { if (response.getStatus() == 401) { throw new SalesForceUnauthorizedException("Unauthorized reponse from SalesForce, status code = " + response.getStatus() + ", reason = " + response.getStatusInfo().getReasonPhrase() + ", body= " + response.getEntity(String.class)); } }
public <T> T getAsXml( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/xml" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
/** * Converts ClientResponse object to string with detailed debug information including status code, media type, * response headers, and response body if exists. */ private String clientResponseToString(ClientResponse response) { if (response == null) { return null; } StringBuilder builder = new StringBuilder(); builder.append("[status: ").append(response.getStatus()); builder.append(", media type: ").append(response.getType()); if (response.getStatus() != 404) { try { String responseBody = response.getEntity(String.class); if (responseBody != null) { builder.append(", response body: ").append(responseBody); } } catch (RuntimeException ignore) { // Ignore if there is no response body, or IO error - it may have already been read in certain scenario. } } builder.append(", response headers: ").append(response.getHeaders()); builder.append("]"); return builder.toString(); }
public class Test { public static void main(String[] args) { ClientConfig config = new DefaultClientConfig(); Client client = Client.create(config); WebResource service = client.resource(getBaseURI()); // Now do the MAP stuff MyHashMapObject<String, String> map = new MyHashMapObject<String, String>(); map.getMapProperty().put("a", "1"); map.getMapProperty().put("b", "2"); ClientResponse response = service.path("rest").path("hello2") .type(MediaType.APPLICATION_XML) .accept(MediaType.APPLICATION_XML) .post(ClientResponse.class, map); Map<String, String> myMap = response.getEntity(MyHashMapObject.class).getMapProperty(); for(Map.Entry<String, String> entry : myMap.entrySet()) System.out.format("Key: %s, Value: %s\n", entry.getKey(), entry.getValue()); } private static URI getBaseURI() { return UriBuilder.fromUri( "http://localhost:8080/org.nowaq.jersey.first").build(); } }
public <T> T getAsJson( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/json" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
@Test public void shouldUseXForwardedProtoHeaderWhenPresent() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_PROTO, "https" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "https://localhost" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
public <T> T getAsJson( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/json" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
private void handleUniformInterfaceException(UniformInterfaceException exception, URI uri) { ClientResponse clientResponse = exception.getResponse(); if (clientResponse == null) { throw new ConductorClientException(String.format("Unable to invoke Conductor API with uri: %s", uri)); } try { if (clientResponse.getStatus() < 300) { return; } String errorMessage = clientResponse.getEntity(String.class); logger.error("Unable to invoke Conductor API with uri: {}, unexpected response from server: {}", uri, clientResponseToString(exception.getResponse()), exception); ErrorResponse errorResponse; try { errorResponse = objectMapper.readValue(errorMessage, ErrorResponse.class); } catch (IOException e) { throw new ConductorClientException(clientResponse.getStatus(), errorMessage); } throw new ConductorClientException(clientResponse.getStatus(), errorResponse); } catch (ConductorClientException e) { throw e; } catch (ClientHandlerException e) { handleClientHandlerException(e, uri); } catch (RuntimeException e) { handleRuntimeException(e, uri); } finally { clientResponse.close(); } }
@Test public void shouldPickFirstXForwardedHostHeaderValueFromCommaOrCommaAndSpaceSeparatedList() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_HOST, "jimwebber.org, kathwebber.com,neo4j.org" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "http://jimwebber.org" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
public <T> T getAsXml( Class<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/xml" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response.status( response.getClientResponseStatus() ).build() ); } } if ( !com.sun.jersey.api.client.ClientResponse.class.isAssignableFrom( returnType ) ) { return response.getEntity( returnType ); } else { return returnType.cast( response ); } }
@Override public EurekaHttpResponse<ReplicationListResponse> submitBatchUpdates(ReplicationList replicationList) { ClientResponse response = null; try { response = jerseyApacheClient.resource(serviceUrl) .path(PeerEurekaNode.BATCH_URL_PATH) .accept(MediaType.APPLICATION_JSON_TYPE) .type(MediaType.APPLICATION_JSON_TYPE) .post(ClientResponse.class, replicationList); if (!isSuccess(response.getStatus())) { return anEurekaHttpResponse(response.getStatus(), ReplicationListResponse.class).build(); } ReplicationListResponse batchResponse = response.getEntity(ReplicationListResponse.class); return anEurekaHttpResponse(response.getStatus(), batchResponse).type(MediaType.APPLICATION_JSON_TYPE).build(); } finally { if (response != null) { response.close(); } } }
@Test public void shouldUseXForwardedHostHeaderWhenPresent() { // when ClientResponse response = client.resource( getManageUri() ) .accept( APPLICATION_JSON ) .header( X_FORWARDED_HOST, "jimwebber.org" ) .get( ClientResponse.class ); // then String entity = response.getEntity( String.class ); assertTrue( entity.contains( "http://jimwebber.org" ) ); assertFalse( entity.contains( "http://localhost" ) ); }
public <T> T getAsJson( com.sun.jersey.api.client.GenericType<T> returnType ) { UriBuilder localUriBuilder = _uriBuilder.clone(); com.sun.jersey.api.client.WebResource resource = _client.resource( localUriBuilder.buildFromMap( _templateAndMatrixParameterValues ) ); com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder(); resourceBuilder = resourceBuilder.accept( "application/json" ); com.sun.jersey.api.client.ClientResponse response; response = resourceBuilder.method( "GET", com.sun.jersey.api.client.ClientResponse.class ); if ( response.getStatus() >= 400 ) { throw new PentahoDiPlugin.WebApplicationExceptionMessage( Response .status( response.getClientResponseStatus() ).build() ); } return response.getEntity( returnType ); }
response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).put(ClientResponse.class); InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.CONFLICT.getStatusCode() && response.hasEntity()) { infoFromPeer = response.getEntity(InstanceInfo.class); return anEurekaHttpResponse(response.getStatus(), infoFromPeer).type(MediaType.APPLICATION_JSON_TYPE).build(); } finally { if (logger.isDebugEnabled()) { logger.debug("[heartbeat] Jersey HTTP PUT {}; statusCode={}", urlPath, response == null ? "N/A" : response.getStatus());