struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antony Stubbs <antony.stu...@gmail.com>
Subject Re: Config-Browser half works - java.io.FileNotFoundException
Date Mon, 02 Apr 2007 05:31:07 GMT

Sorry about what seems like spam guys, but I'm nailing this issue down as I
go along. It seems now to be nothing to do with Config-Brower, as it happens
with my Hello World page as well, just didn't notice it before as it doesn't
display the "File not found" error, it just throws the exceptions in the
log.
According to 
http://publib.boulder.ibm.com/infocenter/wasinfo/v4r0/index.jsp?topic=/com.ibm.support.was35.doc/html/APARs/PQ58005.html
WebSphere support :
****************************************************************
* USERS AFFECTED: WebSphere Application Server developers      *
*                 using setHeader, addHeader or setStatus      *
*                 after the response has been committed.       *
****************************************************************
* PROBLEM DESCRIPTION: IllegalStateException "Cannot set       *
*                      Header. Response aleady committed" when *
*                      attempting to modify headers after      *
*                      the response has been committed.        *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
When attempting to modify headers after the response
has been committed, WebSphere is throwing an
IllegalStateException "Cannot set header. Response
already committed.".   Per the Servlet 2.2 Specification, any
attempt to modify headers after a commit should not
throw an exception but should instead ignore the
setting of that header.


So as I said, it seems something's trying to set the response headers after
they've already been sent - not idea what it could be. I was using sitemesh
(not the plugin version) but have removed it. Am now currently using struts,
struts2 and the struts2 plugins code-behind and using a zero-configuration
setup.
Any ideas would could be causing this?

Antony Stubbs wrote:
> 
> 
Ok strange... I think what I am seeing is Config-Browser working correctly,
but something's trying to tak output onto the end of the response?!
> 
This is the log from the request after it's already been viewed once. 
> 
This is what I find interesting:
> 
"WARNING: Cannot set status. Response already committed.
> Error page exception  The server cannot use the error page specified for
> your application because of the exception printed below.
> Cannot set header. Response already committed.
> Error Page Exception: :
> com.ibm.websphere.servlet.error.ServletErrorReport: SRVE0190E: File not
> found: /images/strich.gif"

> 
> 
Strange, because strich.gif seems to be an artifact from Groovy - which I
have been playing with in the past, but not in this project and the file
isn't mentioned anywhere that I can find.
> 
> 
After removing references to my error.jsp page, I then get just the
exception msg printed out underneath.
> 
Apache Struts Project Struts © 2003 - 2006 | Bugs | Mailing Lists
> Error 404: SRVE0190E: File not found: /config-browser/showConfig.action

> 
> 
I think a key might be that that last line (the error) only shows after the
initial page is rendered, and after a short delay - it then tags it on.
"Cannot set header. Response already committed. Cannot set status. Response
already committed."
> 
> 
[2/04/07 16:27:54:453 NZST] 0000004e SRTServletRes W   WARNING: Cannot set
header. Response already committed.
> [2/04/07 16:28:00:734 NZST] 00000035 SRTServletRes W   WARNING: Cannot set
> status. Response already committed.

> 
> 
The original, before removing references to my error.jsp page from Web.xml.
> 
[2/04/07 16:13:05:687 NZST] 00000050 SRTServletRes W   WARNING: Cannot set
status. Response already committed.
> [2/04/07 16:13:06:171 NZST] 0000004b WebApp        A   SRVE0180I:
> [TAMSEAR#TAMSWeb.war] [/TAMSWeb] [Servlet.LOG]: Error page exception  The
> server cannot use the error page specified for your application because of
> the exception printed below.
> [2/04/07 16:13:06:453 NZST] 00000050 SRTServletRes W   WARNING: Cannot set
> header. Response already committed.
> [2/04/07 16:13:08:234 NZST] 0000004b WebApp        A   SRVE0181I:
> [TAMSEAR#TAMSWeb.war] [/TAMSWeb] [Servlet.LOG]: Error Page Exception: :
> com.ibm.websphere.servlet.error.ServletErrorReport: SRVE0190E: File not
> found: /images/strich.gif
> 	at
> com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:599)
> 	at
> com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)
> 	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
> 	at
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
> 	at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
> 	at
> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
> 	at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:984)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:678)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInbound(SSLConnectionLink.java:533)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.ready(SSLConnectionLink.java:267)
> 	at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
> 	at
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
> 	at
> com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
> 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
> 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
> 	at
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
> 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
> Caused by: java.io.FileNotFoundException: /images/strich.gif
> 	at
> com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:362)
> 	... 23 more
> 
> [2/04/07 16:13:11:156 NZST] 0000004d WebApp        A   SRVE0180I:
> [TAMSEAR#TAMSWeb.war] [/TAMSWeb] [Servlet.LOG]: Error page exception  The
> server cannot use the error page specified for your application because of
> the exception printed below.
> [2/04/07 16:13:11:234 NZST] 0000004d WebApp        A   SRVE0181I:
> [TAMSEAR#TAMSWeb.war] [/TAMSWeb] [Servlet.LOG]: Error Page Exception: :
> com.ibm.websphere.servlet.error.ServletErrorReport: SRVE0190E: File not
> found: /images/nw_maj_rond.gif
> 	at
> com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:599)
> 	at
> com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)
> 	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
> 	at
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
> 	at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
> 	at
> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
> 	at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:984)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink.readyInboundPostHandshake(SSLConnectionLink.java:678)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyHandshakeCompletedCallback.complete(SSLConnectionLink.java:380)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLUtils.handleHandshake(SSLUtils.java:801)
> 	at
> com.ibm.ws.ssl.channel.impl.SSLHandshakeIOCallback.complete(SSLHandshakeIOCallback.java:70)
> 	at
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
> 	at
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
> 	at
> com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
> 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
> 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
> 	at
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
> 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
> Caused by: java.io.FileNotFoundException: /images/nw_maj_rond.gif
> 	at
> com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:362)
> 	... 22 more
> 

> 
> 
> 
> Antony Stubbs wrote:
>> 
>> 
I'm trying to get up and running with Struts2 on an old Struts1 project
(i.e. want to use both at the same time).
>> 
>> 
During my travels of trying to get running, I've tried using the
config-browser. *but* it only half works for me. I get the top half of the
screen correctly showing the namespaces etc, but when it tries to load the
bottom half WebSphere throws an exception: java.io.FileNotFoundException:
/config-browser/showConfig.action
>> 
>> 
It seems as though WebSphere isn't even giving Struts it's chance? I.e. the
Struts filter isn't being dispatched on the
/config-browser/showConfig.action url?
>> 
>> 

>> 
 Struts Configuration Browser > Action information
>> Namespaces
>> default
>> /config-browser
>> Actions in default
>> Hello
>> 	
>> Action information
>> Action information - Hello
>> Action name:	Hello
>> Namespace:	
>> Action class:	com.fonterra.tams.actions.s2.HelloWorld
>> Action method:	
>> Parameters:	
>> Default location:	/TAMSWeb/Hello.action
>> Results 	Exception Mappings 	Interceptors 	Properties 	Validators
>> Name	Type	Parameters
>> success 	org.apache.struts2.dispatcher.ServletDispatcherResult 	location
>> = /Hello.jsp
>> Apache Struts Project Struts © 2003 - 2006 | Bugs | Mailing Lists
>> 
>> java.io.FileNotFoundException: /config-browser/showConfig.action
>> 	at
>> com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:362)
>> 	at
>> com.ibm.ws.wswebcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:111)
>> 	at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
>> 	at
>> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
>> 	at
>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
>> 	at
>> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
>> 	at
>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
>> 	at
>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
>> 	at
>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
>> 	at
>> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
>> 	at
>> com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1812)
>> 	at
>> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
>> 	at
>> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
>> 	at
>> com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
>> 	at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
>> 	at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
>> 	at
>> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
>> 	at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
>> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)

>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Config-Browser-half-works---java.io.FileNotFoundException-tf3503552.html#a9785373
Sent from the Struts - User mailing list archive at Nabble.com.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message