2012-02-17 2 views
0

현재 POST를 통해 서버에 데이터를 보내려고하고 있으며 서버가 데이터를 처리하고이를 JSON 파일에 추가하고 있습니다. 현재 422 개의 오류가 발생하고 있습니다. 잠시 동안 오류가 발생했습니다. 내 질문은 : Java에서 JSON 오류 자체를 수신하여 오류의 내용을 확인할 수있는 방법은 무엇입니까? 내가보고있는 것은 HttpResponseException이며 다른 어떤 것도주지 않는다. 시간 내 주셔서 감사 드리며 사전에 도움을 받으십시오.Android POST에서 HTTP 반환 JSON 반환 오류 실행

 HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost(mPath); 
     // Add your data 
    try 
    { 
     List nameValuePairs = new ArrayList(4); 
     httppost.setHeader("Authorization", Base64.encodeToString(new StringBuilder(bundleId).append(":").append(apiKey).toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP)); 
     nameValuePairs.add(new BasicNameValuePair("state", "CA")); 
     nameValuePairs.add(new BasicNameValuePair("city", "AndDev is Cool!")); 
     nameValuePairs.add(new BasicNameValuePair("body", "dsads is assrawstjljalsdfljasldflkasjdfjasldjflasjdflkjaslfggddsfgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfdsgfddjflaskjdfkasjdlfkjasldfkjalskdjfajasldfkasdlfjasljdflajsdfjasdjflaskjdflaksjdfljasldfkjasljdflajsasdlfkjasldfkjlas!")); 
     nameValuePairs.add(new BasicNameValuePair("title", "dsaghhhe fd!")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     //HttpResponse response = httpclient.execute(httppost); 
     //int status = response.getStatusLine().getStatusCode(); 
     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     String responseBody = httpclient.execute(httppost, responseHandler); 
     Log.v(TAG, "response: " + responseBody); 
     //JSONObject response = new JSONObject(responseBody); 
     int f = 0; 
    } 
    catch(HttpResponseException e) 
    { 
     Log.e(TAG, e.getLocalizedMessage()); 
     Log.e(TAG, e.getMessage()); 
     e.printStackTrace(); 
    } 
+0

[hurl.it] (http://hurl.it/)과 같은 것을 사용하여 서버에서받은 메시지를 확인해 보셨습니까? '컬'도 충분하다. –

+0

와우. 정말 디버깅에 도움이됩니다! 즐겨 찾기에 추가되었습니다. 고맙습니다! – TylerKinkade

답변

2

에 문제가있어 :

String jsonParam = null; 
    try{ 
     JSONObject param = new JSONObject(); 
     param.put("state", "CA"); 
     param.put("city", "AndDev is Cool!"); 
     //and so on with other parameters 

     jsonParam = param.toString(); 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
    } 

및 설정 게시물 엔터티는 다음과 같습니다.

if(jsonParam != null) 
    httppost.setEntity(new StringEntity(jsonParam, HTTP.UTF_8)); 
+0

도움을 주셔서 감사합니다! – TylerKinkade

1

422 오류는 말한다 : Unprocessable Entity - The request was well-formed but was unable to be followed due to semantic errors

당신은 다음과 같이 미리 정의 된 JSON 클래스를 사용하여보다 편리하게 매개 변수를 보낼 수 있습니다 UrlEncodedFormEntity

+0

그래, 나는 그것을 재평가 할 때 내 구조에 문제가 있다고 가정하고있다. 감사. – TylerKinkade