Reputation: 1847
In my code I am posting data to a webservice, but the response I am getting from the webservice is that the specified data is empty.It means that my request is being processed by the webservice, but it's not able the to fetch the corresponding key value.
Code:
Button b1=(Button)findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener()
{
public void onClick(View v) {
String gaurav ="new_member="+"[{\"email\":\"[email protected]\",\"username\":\"gaurav001\",\"pwd\":\"gaurav001\"}]";
// TODO Auto-generated method stub
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("url");
try{
String d="[email protected]";
JSONObject json = new JSONObject();
json.put("gaurav", gaurav);
// json.put("api_token",settings.getString("api_token", ""));
StringEntity se = new StringEntity(json.toString());
httppost.setEntity(se);
httppost.setHeader("Accept", "application/json");
httppost.setHeader("Content-type", "application/json");
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
HttpResponse response = httpclient.execute(httppost);
HttpEntity responseEntity =response.getEntity();
Log.e("USER", EntityUtils.toString(responseEntity).trim());
} catch (UnsupportedEncodingException e11) {
// TODO Auto-generated catch block
Log.e("USER", e11.getMessage());
} catch (ClientProtocolException e11) {
// TODO Auto-generated catch block
Log.e("USER", e11.getMessage());
} catch (IOException e11) {
// TODO Auto-generated catch block
Log.e("USER", e11.getMessage());
} catch (JSONException e11) {
// TODO Auto-generated catch block
e11.printStackTrace();
}
}
}
);
The response from the server is:
12-16 13:59:47.542: E/USER(1257): [{"errorcode":"012"}]
List of response from server:
012 You must enter your e-mail address
013 You must enter your username
014 The username you chose is already taken
015 Your e-mail address is invalid
016 The e-mail address you entered is already taken
017 You must enter a password
025 Your username should have at least 4 characters
024 Username can only contain letters A-Z and numbers 0-9
I am getting a feeling that all is going fine, and that either either my String gaurav; literal is the problem. Her is the string I have to pass as per webservice specifications:
new_member=[{"email":"[email protected]","username":"gaurav001","pwd":"gaurav001"}]
I have tried many times but am still getting errorcode:12.
Upvotes: 0
Views: 2248
Reputation: 109237
What I am doing is something like,
JSONObject jsonObject = new JSONObject();
jsonObject.put("email", "[email protected]");
jsonObject.put("uname", "test");
jsonObject.put("upwd", "test123");
JSONArray jArrayParam = new JSONArray();
jArrayParam.put(jsonObject);
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
nameValuePair.add(new BasicNameValuePair("bulkdata",jArrayParam.toString()));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
Using bulkdata you can get these values at server side..
Upvotes: 2