Quando si aggiunge/aggiornamento un'intestazione di risposta dopo che la richiesta è stata elaborata ottengo il seguente avvertimento:Risposta già impegnata quando si utilizza 3.x di primavera su Websphere 8.5
com.ibm.ws.webcontainer.srt.SRTServletResponse setHeader SRVE8094W: WARNING: Cannot set header. Response already committed.
Sto cercando di manipolare il colpo di testa di chiamando httpServletResponse.setHeader()
o httpServletResponse.addHeader()
dall'interno di un filtro servlet dopo filterChain.doFilter()
o dall'intercettore di codice molla postHandle.
Ho riscontrato questo problema durante l'esecuzione della mia webapp utilizzando spring 3.x su websphere 8.5.
Il problema non viene riprodotto su tomcat 7.0, quindi suppongo che sia correlato a Websphere. Il problema non è riprodotto in un'app servlet pura, quindi suppongo che sia legata alla primavera.
mi è familiare
ShallowEtagHeaderFilter does not work under WAS8 app server
e con
Cannot set header in JSP. Response already committed
ma cerco per una soluzione più "pulito".
Qualcuno può aiutarmi in questo?
È possibile modificare il filtro per racchiudere l'oggetto 'HttpServletResponse' con il proprio che non svuota le intestazioni e' OutputStream' fino a un momento specifico, ad es. quando il filtro ritorna da 'doFilter()'. –
Grazie, ma attualmente non sto cercando una soluzione alternativa, e poiché penso che sia un problema di Spring-Websphere, spero ancora che ci sia una soluzione per questo. –
Non puoi impostare l'intestazione prima di 'doFilter()'? –