2014-11-21 4 views
0

Я хочу правильный ответ от веб-сервера, я пытаюсь с ниже код я хочу, как этоткак размещать (parametars) и получите товару от HTTPClient и HttpPost в Android

{ 

"message": "Successfully", 
"profile": { 

    "name": "myname", 
    "mail": "mymail", 
    "sex" : sex 
} 
} 

Но всегда это показывает, как это

{ 

"message": "failed" 


} 

есть ли неправильно, любой, пожалуйста, помогите мне

String url ="myurlXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; 

    JSONObject json1 = new JSONObject(); 
     json1.put("name", myname); 
     json1.put("mail", mymail); 
     json1.put("sex", sex); 

HttpClient client = new DefaultHttpClient(); 

     HttpPost post1 = new HttpPost(url); 

     post1.setHeader("Content-type", "application/json"); 
     post1.setHeader("Accept", "application/json"); 
     post1.setEntity(new StringEntity(json1.toString(), "UTF-8")); 

     HttpResponse httpresponse = client.execute(post1); 

     HttpEntity entity = httpresponse.getEntity(); 

     InputStream stream = entity.getContent(); 

     String result = convertStreamToString(stream);  



public static String convertStreamToString(InputStream is) 

{ 
    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

    StringBuilder sb = new StringBuilder(); 

    String line = null; 
    try 
    { 
     while ((line = reader.readLine()) != null) 
     { 
       sb.append(line + "\n"); 

     } 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
    finally 
    { 
     try 
     { 
      is.close(); 
     } 
     catch (IOException e) 
     { 
      e.printStackTrace(); 
     } 
    } 
    return sb.toString(); 
} 

ВГ Если я сделаю эту ошибку. Пожалуйста, помогите мне. Заранее спасибо

+0

Если сервер возвращает ошибку, то вам необходимо проверить журналы сервера так, посмотреть, что пошло не так. – reactivemobile

+0

Мы не можем сказать, поскольку вы не показывали, что ожидает сервер и как он обрабатывает данные. – greenapps

+0

Отзыв: спасибо за быстрый ответ, я cheking с тем же uri и параметрами в Postmen (chrome extention), он показывает правильные ответы, – user3814997

ответ

0

Попробуйте заменить код для этого:

JSONObject json2 = new JSONObject(); 
JSONObject json1 = new JSONObject(); 
json1.put("name", myname); 
json1.put("mail", mymail); 
json1.put("sex", sex); 

json2.put("message", "Successfully"); 
json2.put("profile", json1); 
HttpPost post1 = new HttpPost(url); 

post1.setHeader("Content-type", "application/json"); 
post1.setHeader("Accept", "application/json"); 
post1.setEntity(new StringEntity(json2.toString(), "UTF-8")); 

HttpResponse httpresponse = client.execute(post1); 
HttpEntity entity = httpresponse.getEntity(); 
InputStream stream = entity.getContent(); 
String result = convertStreamToString(stream); 

надеюсь, что это помогает

+0

вы можете дать мне отзыв если бы мой ответ был полезен для вас? – HCarrasko

+0

: Спасибо за ваш ответ. Теперь я не использую, но это полезно. Я спрашиваю, есть ли какие-либо исправления в моем коде – user3814997

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