Я занимаюсь разработкой программы для Android, которая обменивается данными через POST с программой App Engine, все на Java. Когда я POST использую MultipartEntity, программа appengine не может увидеть ни одну из моих переменных POST по какой-то причине, которую я не могу понять!
Код Appengine:
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Output:");
String mRoutine = req.getParameter("Routine");
resp.getWriter().println("Routine: " + mRoutine);
String mPMode = req.getParameter("PMode");
resp.getWriter().println("PMode: " + mPMode);
}
Рабочий фрагмент Android:
HttpPost post = new HttpPost("http://XXX.appspot.com/Echo");
HttpClient client = new DefaultHttpClient();
post.setEntity(new UrlEncodedFormEntity(data,HTTP.UTF_8));
HttpResponse response = client.execute(post);
HttpEntity resmarkMessagesReadFrom = response.getEntity();
if (resmarkMessagesReadFrom != null) {
Result_STR= "Response:\n" + EntityUtils.toString(resmarkMessagesReadFrom);
mMSGBox.setText(Result_STR);
}
Отказ кода Android:
HttpPost post = new HttpPost("http://XXX.appspot.com/Echo");
HttpClient client = new DefaultHttpClient();
MultipartEntity reqmarkMessagesReadFrom = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
try {
reqmarkMessagesReadFrom.addPart("Routine", new StringBody("Neutral"));
post.setEntity(reqmarkMessagesReadFrom);
HttpResponse response = client.execute(post);
HttpEntity resmarkMessagesReadFrom = response.getEntity();
if (resmarkMessagesReadFrom != null) {
Result_STR= "Response:\n" + EntityUtils.toString(resmarkMessagesReadFrom);
mMSGBox.setText(Result_STR);
}