JSON 으로 안드로이드/스프링 간 통신을 하고 있는데,
현재 안드로이드에서 서버로 통신, 서버에서 DB까지 통신해서
값을 받아오는 부분까지는 성공했는데,
HttpResponse를 받아오는 부분에서 자꾸 httpstatus가 406이 나면서
메세지를 못받아오고 있습니다.
현재 안드로이드 부분 코드는
======================================================
전략....
client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 30000);
String phone = tMgr.getLine1Number();
if(!(phone.startsWith("+82"))){
phone = phone.replace("+82", "0");
Log.i("USERINFO", "받아온 전화번호는............." + phone);
}
//HttpPost 초기화 문제
post = new HttpPost(arg0[0]);
try{
JSONObject jobj = new JSONObject();
jobj.put("type", "login");
jobj.put("phone", phone);
StringEntity entity = new StringEntity(jobj.toString(), HTTP.UTF_8);
Log.i("USERINFO", "서버로 전송할 JSON Object....." + jobj.toString());
entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
Log.i("USERINFO", "HTTP에 Posting한 Entity....." + entity);
post.setEntity(entity);
// client.execute(post);
reps = client.execute(post);
reps.getStatusLine().getStatusCode();
Log.i("USERINFO", "resp..................................." + reps.getStatusLine().getStatusCode());
후략.....
=================================================================
입니다. 제 생각에는 저 reps.getStatus().getCode() 부분이 200이 나와야 할 것 같은데
자꾸 406(받아들일 수 없는 헤더 정보) 오류가 나네요..ㅜㅜ
사실, 저는 안드로이드 쪽 보다 서버쪽에 문제가 있다고 생각하는데요..
혹시 서버 쪽도 문제가 있는지 검사 부탁드립니다.
코드는 에러 없이 정상 작동하는데 에이치티티피 부분이 406이네요.
===================================================================
전략....
@RequestMapping(value="/mem.json", headers="Accept=application/json",
produces= {MediaType.APPLICATION_JSON_VALUE}, method = RequestMethod.POST)
public @ResponseBody Object checkMem(@RequestBody String phone) throws Exception{
System.out.println("들어왔음.");
JSONObject jObj = JSONObject.fromObject(phone);
System.out.println("...............................안드로이드로부터 받은 메세지...." + jObj);
MemberVO vo = new MemberVO(jObj.get("phone").toString(), "hghg", 0, 0);
jObj = new JSONObject();
System.out.println(vo.getPhoneNum());
boolean result = memberservice.chaeckMember(vo);
jObj.put("result", result);
JSONArray jArr = JSONArray.fromObject(jObj);
jArr.add(result);
return jArr;
}
==============================================================
현재 boolean result까지는 문제없이 콘솔에 찍히는데 도무지 값이 안드로이드 쪽으로
넘어가질 안네요. 저 HTTP 상태 문제만 해결되면 뭐라도 해보겠는데 답답하네요.
그럼 조언 기다리겠습니다~