Java HttpClient media не поддерживается ошибка для метода POST - PullRequest
0 голосов
/ 12 августа 2010

Я пытаюсь использовать httpclient и получаю сообщение об ошибке «Не поддерживается носитель».Я хочу установить заголовки, а затем получить ответ, который должен вернуть мне заголовки, которые являются токенами для аутентификации Ошибка: Метод не выполнен: HTTP / 1.1 415 Неподдерживаемый тип носителя

Процедура выглядит следующим образом:

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);
}

Ответы [ 2 ]

0 голосов
/ 09 ноября 2012
postMethod = new PostMethod(URL);
postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
0 голосов
/ 01 февраля 2011

Попробуйте без пустого места:

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

Я не уверен, является ли Content-Type регистронезависимым. Эта линия работает для меня, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...