Я использую Apache Commons HttpClient для получения некоторых данных с сервера. Моя проблема в том, что возвращаемые данные XML всегда усекаются до первых 64 КБ. Я надеялся, что это может быть просто установка предела для соответствующего объекта, но, очевидно, нет - или, по крайней мере, я не могу найти никакой информации о таком методе. Я предполагаю, что это проблема клиента, поскольку сервер принадлежит другой компании и, по-видимому, хорошо передает данные всем остальным.
Есть идеи?
Кстати, мой код очень прост:
protected String send(Server server, String query) throws Exception {
PostMethod post = new PostMethod(server.getUrl());
post.setParameter("XMLString", query);
try {
client.executeMethod(post);
return post.getResponseBodyAsString();
} finally {
post.releaseConnection();
}
}
Кстати, то же самое происходит со следующим кодом, использующим InputStreams, а не метод getResponseBodyAsString ().
protected String send(Server server, String query) throws Exception {
PostMethod post = new PostMethod(server.getUrl());
post.setParameter("XMLString", query);
try {
client.executeMethod(post);
InputStream stream = post.getResponseBodyAsStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line = null;
StringBuilder sb = new StringBuilder();
while ( (line=reader.readLine()) != null ) {
sb.append(line);
}
return sb.toString();
} finally {
post.releaseConnection();
}
}
Итак, вы знаете, есть ли где-нибудь установленный предел? Тот факт, что String является ответом всегда 64k, кажется, предполагает, что должно быть. Но где?
Спасибо
Алистер