[SPRING] Android 웹 서비스 호출에서 HTTP 406 가져 오기
SPRINGAndroid 웹 서비스 호출에서 HTTP 406 가져 오기
내가 안드로이드 application.Can을 통해 나머지는 웹 서비스를 호출하면 406 얻을거야이 코드에서 오류가 무엇인지 나에게 제안하고 왜 내가이 오류를지고 있어요 ??
@RequestMapping(value="/mainreservationChartPost", method = RequestMethod.POST)
public @ResponseBody ModelMap getMRChartDataPOST(@ModelAttribute ("ReservationSummaryRQDTO") ReservationSummaryRQDTO search){
ReservationSummaryDTO returnDataDTO = new ReservationSummaryDTO();
MainReservationChartWSImpl wsImpl = MRWSUtil.getInstance().getWS_ServicePort();
search.setHotelCode("BBH");
search.setReportDate(toXmlDateGMT(new Date()));
returnDataDTO = wsImpl.getReservationSummary(search);
ModelMap model = new ModelMap();
model.put("reservations", returnDataDTO);
return model;
}
Android 코드
public static String POST(String url, ArrayList<NameValuePair> parameter)
throws Exception {
BufferedReader in = null;
try {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpost = new HttpPost(url);
httpost.setHeader("Accept", "application*/*");
httpost.setHeader("Content-type",
"application/x-www-form-urlencoded");
httpost.setEntity(new UrlEncodedFormEntity(parameter, "utf-8"));
HttpResponse response = httpclient.execute(httpost);
in = new BufferedReader(new InputStreamReader(response.getEntity()
.getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String result = sb.toString();
return result;
} finally {
if (in != null) {
try {
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("hotelCode","BBH"));
//nameValuePairs.add(new BasicNameValuePair("reportDate","10-MAY-2013"));
//String response=hcc.executeHttpPost("http://10.2.241.137/ua_dat/rnd/senddata.php", nameValuePairs);
try {
String response=HttpCustomClient.POST("http://10.2.241.33/MRChartService/mainreservationChart.html", nameValuePairs);
} catch (Exception e) {
Log.d("error", e.getMessage().toString());
}
}
어느 누구든지이 문제를 해결할 수있는 방법을 제안 할 수 있습니다 ..? 내가 406 오류가 있기 때문에이 코드의 모든 오류 ...
해결법
-
==============================
1.406은 요청의 승인 헤더에서 요청되는 데이터 유형과 서버가 리턴 한 유형이 일치하지 않음을 의미합니다. 허용 된 유형을 변경하거나 리턴 마임 유형을 변경하십시오.
406은 요청의 승인 헤더에서 요청되는 데이터 유형과 서버가 리턴 한 유형이 일치하지 않음을 의미합니다. 허용 된 유형을 변경하거나 리턴 마임 유형을 변경하십시오.
-
==============================
2.그 오류는 용납되지 않습니다.
그 오류는 용납되지 않습니다.
말 그대로.
여기에 몇 가지 문서가 있습니다 :
이는 일반적으로 서비스가 사용자에게 인식 할 수없는 형식으로 물건을 다시 보냈음을 의미합니다. 틀린 종류의 데이터 일 수도 있고 헤더가 엉망이 될 수도 있습니다. WireShark와 같은 패킷 스니퍼를 사용하여 무엇이 다시 전송되는지 확인해야합니다. 또한 콘텐츠 유형을 지정하기 만하면됩니다.
웹 서비스 호출을하고 있고 패킷 스니퍼를 한번도 사용한 적이 없다면 어떻게하는지 알아내는 것이 좋습니다.
-
==============================
3.406은 요청 헤더를 받아 들일 때 응답 할 수 없을 때 서버에 의해 반환됩니다 (즉, XML 만 원한다는 Accept 헤더가 있음). 서버의 응답으로 Accept 헤더를 확인하고 적절하게 데이터를 전송하십시오.
406은 요청 헤더를 받아 들일 때 응답 할 수 없을 때 서버에 의해 반환됩니다 (즉, XML 만 원한다는 Accept 헤더가 있음). 서버의 응답으로 Accept 헤더를 확인하고 적절하게 데이터를 전송하십시오.
from https://stackoverflow.com/questions/16536171/getting-http-406-in-android-webservice-call by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 보안 변경 spring_security_login 폼 (0) | 2019.05.19 |
---|---|
[SPRING] SAMLException : 응답의 InResponseToField가 보낸 메시지와 일치하지 않습니다. (0) | 2019.05.19 |
[SPRING] SQL 스크립트에서 다른 SQL 파일을 참조 할 수 있습니다. (0) | 2019.05.19 |
[SPRING] Spring Batch를 이용한 복잡한 XML; StaxEventItemWriter; Jaxb2Marshaller (0) | 2019.05.19 |
[SPRING] 작은 따옴표로 쿼리 매개 변수를 설정하는 방법 (0) | 2019.05.19 |