views:

51

answers:

3

hi, from my android client i am sending a json to string object.but the .net client is getting it as empty string. here is my code.

HttpPost request = new HttpPost(SERVICE_URI+"/save");
JSONStringer json = new JSONStringer()
.object()   
.key("cno").value("2000")
.key("cname").value("HI")
.key("cmail").value("HI")
.key("cphno").value("9292")
.key("cmailtype").value("Home")
.key("cphnotype").value("Office")
.key("clientno").value("1")
.endObject();
 String a= json.toString();
StringEntity entity = new StringEntity(a);
entity.setContentType("text/plain;charset=UTF-8");
entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,"text/plain;charset=UTF-8"));
request.setEntity(entity); 
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request); 

is this header format correct?

+1  A: 

in my project i will use this

public JSONObject post(String url, JSONObject json) throws ClientProtocolException, IOException, JSONException, ServerResponseException{
    HttpPost httppost = new HttpPost(url);
    httppost.addHeader("Content-type","application/json");
    StringEntity se = new StringEntity(json.toString());
    se.setContentType("text/xml");
    se.setContentEncoding( new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
    httppost.setEntity(se);
    HttpResponse response = client.execute(httppost);
    HttpEntity entity = response.getEntity();
    if(entity != null&&(response.getStatusLine().getStatusCode()==201||response.getStatusLine().getStatusCode()==200)){
        //your function on output

}
    else
        throw new ServerResponseException(response.getStatusLine().getStatusCode(),response.getStatusLine().getReasonPhrase());

}

the output of this methtod is JSONObject because my output is json

DX89B
when i use this code i am getting bad request. i am also using the similar code but dono why its error, or u using .net service?
Adhavan
try also with StringEntity se = new StringEntity(JSON: +json.toString());
DX89B
s i was doing that too but i am not sure y its reposnse is bad request
Adhavan