2010-08-12 2 views
0

httpclient를 사용하려고하는데 미디어가 지원되지 않습니다. 오류가 발생합니다. 내가 헤더를 설정 한 다음 나에게 인증 오류에 대한 토큰있는 헤더를 반환해야하는 응답을 다시 얻으려면 : 방법이 실패 : HTTP/1.1 415 지원되지 않는 미디어 유형POST 메서드의 Java HttpClient 미디어 지원되지 않음 오류

절차는 다음과 같다 :

public void getDocument(String url) { 
    PostMethod method = new PostMethod(url); 
    client.getParams().setAuthenticationPreemptive(true); 

    method.setRequestHeader("User-Agent", "some header value"); 

    method.addRequestHeader("Header name", "some header value"); 
    method.addRequestHeader("Content-type", "application/xml; charset=utf-8"); 
    method.addRequestHeader("Content-Body", "some header value"); 

    method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, 
      new DefaultHttpMethodRetryHandler(3, false)); 

    Credentials defaultcreds = new UsernamePasswordCredentials("username", "password"); 
    client.getState().setCredentials(AuthScope.ANY, defaultcreds); 

try { 
     int statusCode = client.executeMethod(method); 
     if (statusCode != HttpStatus.SC_OK) { 
     System.err.println("Method failed: " + method.getStatusLine()); 
     } 

catch(Exception e) { 
     System.out.println("Error in getDocument() "+e); 
} 
+0

는 또한 ("적용", "애플리케이션/XML; 문자셋 = UTF-8") method.addRequestHeader 시도; 대신 대신 을 입력하십시오. method.addRequestHeader ("Content-type", "application/xml; charset = utf-8"); 하지만 여전히 동일한 오류가 발생합니다. – whitehorse

답변

0

는 빈 공간없이 시도해보십시오 Content-Type는 대소 문자를 구분하는 경우

method.addRequestHeader("Content-Type", "application/xml;charset=UTF-8"); 

잘 모르겠어요. 이 선은 나를 위해 일한다.

0
postMethod = new PostMethod(URL); 
postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 
+1

SO에 오신 것을 환영합니다. 약간의 설명 만 있으면 솔루션을 확장하는 것이 좋습니다. – mnel

관련 문제