LINUX.ORG.RU

java apache httpclient

 


0

1

есть HttpClient 3 - http://hc.apache.org/httpclient-3.x/userguide.html

в нем файл org/apache/commons/httpclient/HttpClient.java и метод

public int executeMethod(HostConfiguration hostconfig, final HttpMethod method, final HttpState state)

Написал тест, который создает HttpClient и шлет post-запрос с файлом:

PostMethod post = new PostMethod("http://localhost/test");
File f = new File ("test.file");

Part[] parts = {
  new FilePart(f.getName(), f)
};

post.setRequestEntity(
     new MultipartRequestEntity(parts, post.getParams())
);

HttpClient client = new HttpClient();
int statusCode = client.executeMethod(post);
...

Я пытаюсь получить post-данные внутри executeMethod, но получаю ошибку компиляции

public int executeMethod(HostConfiguration hostconfig, 
        final HttpMethod method, final HttpState state):

method.getParameters();
org/apache/commons/httpclient/HttpClient.java:398: error: cannot find symbol -- getParameters

Вообще, к какому бы методу final HttpMethod method я не обратился внутри executeMethod — всегда получаю «cannot find symbol»

При этом, если распечатывать до входа в executeMethod(), у переменной post все методы на месте.

Тип переменной и до и после остается org.apache.commons.httpclient.methods.PostMethod

Как такое может быть? Почему до запуска метода это полноценный объект PostMethod, а внутри executeMethod() он тут же теряет все свои методы?



Последнее исправление: amalincom (всего исправлений: 1)

Метод getParameters() объявлен у PostMethod, а у HttpMethod есть getParams(). Ты без IDE что ли пишешь?

roy ★★★★★
()
Ответ на: комментарий от roy

getParameters()
getParams()
getPars()
paramsGet()
parametersGet()

Полиморфизм in action.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.