POST-запрос не достигает сервера - PullRequest
0 голосов
/ 16 октября 2011

Я пытаюсь отправить данные со смартфона Android с помощью запроса POST в веб-службу REST.

На стороне клиента нет ошибок, но на стороне сервера не выполняется код, если у меня естьотправил данные:

Клиент:

public void connect2server(View v) throws IOException {

    HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.1.108:8182");

try {
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
     nameValuePairs.add(new BasicNameValuePair("id", "12345"));
     nameValuePairs.add(new BasicNameValuePair("stringdata", "data"));
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
     HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
    } catch (IOException e) {
        // TODO Auto-generated catch block
    }
}

Сторона сервера:

public class data_server extends ServerResource {

public static void main(String[] args) throws Exception {  
    // Create the HTTP server and listen on port 8182  
    new Server(Protocol.HTTP, 8182, data_server.class).start();  
}  

@Post  
public String toString1() throws IOException {  
    System.out.println(getRequestEntity().getText());
    return "ok";  
}  

}

Как это вызвано и как я могу решить эту проблему?

1 Ответ

1 голос
/ 16 октября 2011

Нет ошибок, потому что вы ловите ошибки и ничего не делаете с ними.

Попробуйте добавить следующее в блоки catch, и вы должны увидеть, что происходит в выходных данных LogCat. Не забудьте импортировать журнал класса

Log.w("com.name.pkg", e);

где "com.name.pkg" - это просто тег, который поможет вам фильтровать. обычно название программы.

В качестве альтернативы довольно часто используется отправка тоста с помощью Toast.makeText (...). Show (); с e.getMessage (), но мне это не нравится, поэтому я не рекомендую это делать. Было бы лучше передать строку обратно вызывающей функции и разрешить это сделать тост.

...