Websphere 8.5 Liberty Profile - API за сервлети setLocale

Използвам Websphere 8.5 Liberty Profile с Fixpack 1 и срещнах следния проблем, който изглежда нарушава API на Servlet.

Заглавката на отговора на езика на съдържанието не е зададена след response.setLocale(), ако тялото на отговора се записва в изходния поток на отговора (HttpServletResponse#getOutputStream()). Работи добре, ако вместо това тялото е написано върху записващия отговор (HttpServletResponse#getWriter())

Следният JSP не връща заглавка на отговор на езика на съдържанието:

<%@ page contentType="text/plain;charset=ISO-8859-1" session="false" import="java.util.*" %><% 
response.setLocale(Locale.ITALY); 

java.io.OutputStream os = response.getOutputStream();
try {
  os.write("Hello World".getBytes("ISO-8859-1"));
} finally {
  os.close();
}
%>

Обърнете внимание, че JSP не трябва да съдържа никакви знаци извън ‹% ... %>, дори нов ред в края на файла. Използвам JSP тук само за да възпроизведа случая - разбира се, писателят би бил нормалният начин. Ние използваме #getOutputStream вътрешно в нашия Java код.

Правилно ли е предположението ми, че това поведение нарушава спецификацията на Servlet? Ако е така, какъв е най-добрият начин да докладвате тези грешки на IBM?

Намерих леко свързан доклад за грешка със заглавката на отговора Content-Language, който беше докладван само срещу Liberty Profile (и беше коригиран в FP1): http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PM67523


person ahu    schedule 19.02.2013    source източник


Отговори (1)


Бих препоръчал да докладвате грешките на IBM, като използвате тази страница в общността WASdev. Ако не сте запознати с общността на WASdev, това също е чудесно място да научите повече за профила на Liberty и има някои страхотни уроци.

person Jake Stoeffler    schedule 19.02.2013
comment
Благодаря. Споменатата страница е само за бета версии, но успях да възпроизведа проблема с 8.5.next.beta и отворих проблем. - person ahu; 05.03.2013
comment
За издадени версии можете да отворите заявка за услуга на IBM тук. - person Jake Stoeffler; 05.03.2013