2015-05-25 3 views
2

Я отправляю на сервер запрос, но когда я сталкиваюсьRobospice сталкивается с ошибкой, но onRequestSuccess называется

Client org.springframework.web.client.HttpClientErrorException: с 400 BAD REQUEST

в onRequestSuccess вызывается вместо onRequestFailure

public String loadDataFromNetwork() { 

    String url = "myurl"; 

    HttpHeaders header = new HttpHeaders(); 
    header.setContentType(new MediaType("application", "json")); 

    try { 
     JSONObject jsonObject = new JSONObject(); 
     jsonObject.put(constants.TAG_ORDER_ID, bOrderID); 

     RestTemplate restTemplate = new RestTemplate(true); 
     restTemplate.getMessageConverters().add(new GsonHttpMessageConverter()); 

     HttpEntity<?> httpEntity = new HttpEntity<Object>(jsonObject.toString() , header); 


     ResponseEntity r = restTemplate.exchange(url, HttpMethod.POST, httpEntity, getResultType()); 

     return r.toString(); 
    } 
    catch (HttpClientErrorException e){ 
     return String.valueOf(e); 
    } 
    catch (JSONException e){ 
     return String.valueOf(e); 
    } 
} 
+0

Вы уверены, что ваш URL-адрес работает в обычном браузере? – Exception

+0

В основном ошибка 400 вызвана неправильным URL. – Exception

+1

Я целенаправленно искал URL-адрес, чтобы получить ошибку 400. Моя проблема в том, почему она вызывает onRequestSuccess ?? – hoseinit

ответ

0

пока вы ловить исключения INSI de loadDataFromNetwork(), и не ретропируя их, RoboSpice считает, что ничего необычного не произошло. Единственный способ распространить ошибку - выбросить ее из вашего loadDataFromNetwork(), а затем вы будете перенаправлены обратно через onRequestFailure.

Смежные вопросы