0

MVC 3 웹 서비스가 Amazon EC2 인스턴스에서 호스팅됩니다. 서비스에 대한 게시물 요청을하는 Android 앱이 있습니다. 그러나 헤더 이름이 유효하지 않다는 잘못된 요청이 400 번 반환됩니다. 서버의 로그를 검사했는데 요청이 IIS에 들어 가지 않습니다. HTTP Err Log에는 다음 항목이 있습니다.IIS 7에 대한 Android HTTP POST 요청이 잘못된 요청 (잘못된 헤더 이름)을 반환합니다.

2011-10-07 02:01:05 xxx.xxx.xx.xx xxxxx xx.xxx.xx.xx 80 HTTP/1.1 POST/API/UserAccount/Login 400 - 헤더 -

무슨 일이 일어나는지 잘 모르겠습니다. Visual Studio와 함께 제공되는 개발 서버에서이 웹 서비스를 테스트했는데 문제가 없었습니다. Android에서 게시 요청을 생성하는 코드는 다음과 같습니다.

HttpPost post = new HttpPost(LOGIN_URL); 
StringEntity se = new StringEntity(json); 
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, 
    "application/json")); 
post.setEntity(se); 
response = client.execute(post); 

모든 의견에 감사드립니다.

감사합니다.

답변

6

HTTP 헤더를 설정하는 방법을 변경하십시오. 코드의 업데이트 된 버전은 다음과 같습니다.

HttpPost post = new HttpPost(LOGIN_URL); 
StringEntity se = new StringEntity(json); 
se.setContentEncoding("UTF-8"); 
se.setContentType("application/json"); 
post.setEntity(se); 
response = client.execute(post); 
+0

나는 거의 아침을 보낸 다음 찾았습니다. 아주 고마워. – Khobaib

+0

기술적으로 여기서 무엇이 일어나고 있습니까? 나는 서버를 제어하지만 클라이언트는 아니며 클라이언트가 이것을보고 있지만, 나는 그들로부터받는 헤더와 관련된 문제를 볼 수 없다. – Chris