我正在尝试将我的 android 应用程序与 json c# web 服务通信,我必须从 web 服务中检索 json 对象,但是我无法将 json 对象发送到 web 服务。
这是我的网络服务代码
[WebMethod]
public void recibePosicion(string json_cad)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
Posicion nueva_posicion = jss.Deserialize<Posicion>(json_cad);
PosicionDAO posicion_dao = new PosicionDAO();
posicion_dao.InsertaPosicion(nueva_posicion);
}
这是我的安卓代码
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit
HttpResponse response;
JSONObject json = new JSONObject();
try
{
HttpPost post = new HttpPost("http://10.0.2.2:1218/JSON.asmx/recibePosicion");
post.setHeader("Accept", "application/json");
post.setHeader("Content-type", "application/json");
json.put("idPosicion", "-1");
json.put("x", "100");
json.put("y", "200");
StringEntity se = new StringEntity( json.toString(), HTTP.UTF_8);
se.setContentType("application/json");
post.setEntity(se);
HttpResponse getResponse = client.execute(post);
final int statusCode = getResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
Log.w(getClass().getSimpleName(), "Error " + statusCode + " for URL " + url);
return null;
}
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Cannot Estabilish Connection");
}
我得到状态码 500。相反,如果我将网络方法更改为
公共无效recibePosicion()
我可以打电话给服务,但我不知道如何获取 json 数据。
请我感谢任何提示来解决该问题。
谢谢。