500 Внутренняя ошибка сервера с запросами POSTAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 500 Внутренняя ошибка сервера с запросами POST

Сообщение Anonymous »

Вот мой код для запроса POST на сервер.

JSON для отправки на сервер:

Код: Выделить всё

{
"User": {
"Name": "dog","Password": "123"  }

}
Как я создаю объект JSON

Код: Выделить всё

    object = new JSONObject();
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("Name", "dog");
jsonObject.put("Password", "123");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
object.put("User", jsonObject);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Публикация на сервере как

Код: Выделить всё

    public HttpResponse request(JSONObject request)
throws ClientProtocolException, IOException, IllegalStateException,
JSONException {
client = (DefaultHttpClient) WebClientDevWrapper
.getNewHttpClient();

HttpPost post = new HttpPost(
"https://wbapi.cloudapp.net:443/api/User/LocalLogin/");
post.setEntity(new StringEntity(request.toString(), "utf-8"));
HttpResponse response = client.execute(post);
return response;
}
Вместе с классами, предоставленными Парешом Маяни, отправьте HTTPS-запрос на сервер

Я получаю ответ объект. Но мой ответ.getStatusLine() продолжает показывать 500/ Внутренняя ошибка сервера только для запросов POST.

Примечание: запросы GET работают нормально.

В чем проблема в моем коде? Как устранить эту ошибку?

Изменен код запроса на (как рекомендовано Бхавдипом Патаром)

Код: Выделить всё

public HttpResponse request(JSONObject request)
throws ClientProtocolException, IOException, IllegalStateException,
JSONException {

HttpPost post = new HttpPost(
"https://wbapi.cloudapp.net:443/api/User/LocalLogin/");
// post.setEntity(new StringEntity(request.toString(), "utf-8"));
StringEntity entity = new StringEntity(request.toString(), HTTP.UTF_8);
entity.setContentType("application/json");
post.setHeader("Content-Type", "application/json");
post.setHeader("Accept", "application/json");
post.setEntity(entity);
HttpResponse response = client.execute(post);
return response;
}
Я установил application/json и вуаля, HTTP/200 работает нормально.

Подробнее здесь: https://stackoverflow.com/questions/140 ... t-requests
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»