A solicitação POST se torna GET
Estou desenvolvendo um aplicativo para Android e um servidor em Java. O aplicativo do servidor é executado no Jetty. O aplicativo Android é emulado no mesmo computador.
O aplicativo Android envia uma solicitação POST ao servidor, mas o manipulador do servidor o interpreta como GET.
Quando eu usoEnviar ferramenta HTTP para simular a solicitação POST, funciona perfeitamente (quero dizer, o tipo do método é POST).
Este é o fragmento de código do aplicativo Android:
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(),
10000); // Timeout Limit
HttpResponse response;
// Create message
JSONObject json = new JSONObject();
json.put("request_type", "info");
json.put("user_name", mEmail);
// Send message and get response
StringEntity se = new StringEntity(json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
HttpPost post = new HttpPost("http://10.0.2.2:8080/app");
post.setEntity(se);
post.setHeader("Accept", "application/json");
post.setHeader("Content-Type", "application/json; charset=UTF-8");
response = client.execute(post);
E este é o código do manipulador:
public void handle(String target, Request baseRequest,
HttpServletRequest request, HttpServletResponse response) {
System.out.println(request.getMethod());
}
Eu não sei o que poderia ser um problema, como eu acho que se eu usar o HttpPost, o tipo de método deve ser POST.