есть 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() он тут же теряет все свои методы?