У нас есть размещенные в облаке (RackSpace cloud) приложения Ruby и Java, которые будут взаимодействовать следующим образом:
Мы заинтересованы в оценке обоих форматов обмена сообщениями (JSON, Протоколы буферов , Экономия и т. Д.), А также каналы / методы передачи сообщений (сокеты, очереди сообщений, RPC, REST, SOAP и т. Д.)
Наши критерии:
Какую комбинацию формата сообщения и метода передачи вы бы порекомендовали? Почему?
Я собрал здесь некоторые материалы, которые мы уже собрали для ознакомления: Двигатель не работает Я разрабатываю программу для Android, которая обменивается данными через POST с программой App Engine, причем все на java. Когда я отправляю POST с помощью MultipartEntity, программа appengine не может видеть ни одну из моих переменных POST ...
Я разрабатываю программу для 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);
}