我正在试图通过json c#web服务来交流我的android应用程序 我得到从Web服务检索json对象,但我失败发送一个json对象到web服务。发送json字符串到C#web服务从android
这里是我的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);
}
这里是我的Andorid代码
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");
}
我得到的StatusCode 500 相反,如果我更改Web方法
公共无效recibePosicion()
我打电话给服务但我不知道如何获取json数据。
请问我会apreciate任何提示来解决这个问题。
谢谢。
什么异常是由服务器抛出? – zmbq
1.将'static'添加到asp.net WebMethod'public static void recibePosicion(string json_cad)'2.使用'json.toString()'时得到的字符串3.调试程序 – Coder
解决了问题吗? –