Я думаю, причина в "Content-Type" => "application/x-www-form-urlencoded"
. Этот тип POST существует для отправки списка key=value
пар. Таким образом, сервер на своей стороне будет анализировать почтовые данные в парах key=value
. Я полагаю, что в вашем случае просто не удается проанализировать полученные почтовые данные, потому что вы не отправляете данные в форме пар key=value
(вместо этого вы просто добавляете в нее всю строку json jsonObject.toString().getBytes("UTF-8")
).
Таким образом, вам нужно сформировать пару ключ-значение "json = YOUR_JSON_HERE". Затем на сервере вы получите ваши данные в виде значения параметра json
:
URLEncodedPostData encPostData = new URLEncodedPostData("UTF-8", false);
encPostData.append("json", jsonObject.toString());
byte[] postData = encPostData.toString().getBytes("UTF-8");
Другим вариантом (и, кстати, это был бы наиболее подходящий способ решения этой конкретной задачи), было бы использование типа POST "multipart / form-data". Однако реализовать его будет немного сложнее, если вы никогда не делали этого раньше на BB.