Я пытаюсь подключиться к Openstack KeyStone из моего проекта Android. В основном я пытаюсь подключиться к нему с помощью открытого стека API. Формат PHP такой.
curl -k -X 'POST' -v ####//############/##/### -d '{"auth":{"passwordCredentials":{" имя пользователя": "joecool", "пароль": "coolword"}, "tenantId": "5"}}' -H 'Тип содержимого: приложение/json'
Теперь я пытаюсь интегрировать это в Java на Android, но последние несколько дней я застрял на этом. PHP может прекрасно подключаться. Я не уверен, что не так с моим кодом в java. Кто-нибудь, пожалуйста, дайте мне идею, как решить эту проблему. Спасибо! Это мой код:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("####//############/##/###");
try {
JSONObject auth = new JSONObject();
JSONObject json = new JSONObject();
auth.put("auth", json);
JSONObject pCredentials = new JSONObject();
json.put("passwordCredentials:", pCredentials);
pCredentials.put("username", "admin");
pCredentials.put("password", "admin");
Log.i("TAG", "passing your data"+auth.toString());
StringEntity params1 = new StringEntity(auth.toJSONString());
params1.setContentEncoding("UTF-8");
params1.setContentType("application/json");
httppost.setHeader("Content-type", "application/json");
((HttpResponse) httppost).setEntity((params1));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
Log.i("TAG", "Server response is "+response.toString());
}catch (IOException e) {
Log.e("TAG", "IOException" + e.toString());
// TODO Auto-generated catch block
}