Код моего веб-сервиса
final StreamingOutput stream = new StreamingOutput() {
@Override
public void write(final OutputStream out) {
dao.getData(
query,
new SdmxObserver(writerFactory.getDataWriter(sdmxFormat, out, properties), request
.getRemoteAddr(), request.getHeader("User-Agent"), query.toString(), sdmxFormat
.toString(), query.getlist()));
}
};
res = Response.ok(stream, MediaType.valueOf("application/vnd.sdmx.genericdata+xml;version=2.1"))
.cacheControl(cc).lastModified(lastModified).header("Vary", "Accept,Accept-Encoding").build();
return res;
Вызов базы данных для извлечения данных занимает много времени, поэтому, когда мы используем прокси-сервер, у него есть время, превышающее 2 минуты и, следовательно, поскольку данные не поступают из базы данныхЧерез 2 минуты он показывает время ожидания соединения.Хотя мы использовали StreamingOutput, почему потоковая передача не происходит, чтобы поддерживать соединение живым?Также, если мы обойдем прокси, то сможем успешно получить данные из веб-службы.
Но мы не можем изменить настройку прокси, а также нам нужно использовать приложение с прокси или без него.