tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Watts <>
Subject RE: Tomcat doesn't process error messages
Date Thu, 03 Jan 2013 16:44:20 GMT
On Thu, 2013-01-03 at 12:42 +0000, Husarik, Branko wrote:
> Hello, 
> I will try to clarify the process as I see it:
> Request message sending process  from Oracle to Web Service
> Oracle --> HTTP --> Tomcat --> Input/Output stream --> webapp -->
> Input/Output stream --> Tomcat --> HTTPS --> Web Service
> Response message receiving process from Web Service to Oracle
> Web Service--> HTTPS --> Tomcat --> Input/Output stream --> webapp -->
> Input/Output stream --> Tomcat --> HTTP --> Oracle
It's also important to note that in the WebService-->webapp path the
webapp is acting as an HTTP client.  If I'm understanding you correctly
then, if the webapp calls request.getInputStream() that stream would be
connected to the Oracle client NOT the WebService.  Since the request
has already been completely read (and presumably closed?) it's
understandable that you would get an IOException trying to read from it.

> The problem occures during the receiving stage (Tomcat -->
> Input/Output stream --> webapp) when the response from Web service
> cointains "HTTP/1.1 500 Internal Server Error"
> Webapp modifies the message (for example it adds basic
> authentication). I hope I don't miss something Big.
> Braňko
> -----Original Message-----
> From: André Warnier [] 
> Sent: 3. ledna 2013 11:23
> To: Tomcat Users List
> Subject: Re: Tomcat doesn't process error messages
> Husarik, Branko wrote:
> > SOAP service logic should manipulate the message, but there is need to receive message
from Tomcat by reading it's input stream. Problem is, there is only error stream cointaining
tomcat error coming from Tomcat. I think it is caused by message from web service, which cointains
" HTTP/1.1 500 Internal Server Error " in HTTP protocol and SOAP message is not forwarded.
It seems to me like common logic, but i don't know, how to set Tomcat to forward these messages
to input stream.
> > 
> Hi.
> Personally, I do not understand what you are trying to say.  I believe that there is
some incorrect understanding on your part of how this is supposed to work.
> In the scenario as you describe it,
> - Oracle is the HTTP client for Tomcat (just like any browser could be a client)
> - inside Tomcat, runs some webapp which happens to be a SOAP proxy. What this webapp
does, is unknown to Tomcat.  As far as Tomcat is concerned, this webapp is supposed to process
some HTTP requests (depending on the URL of the request), and generate a HTTP response.
> Schematically, we have this :
> request :
> Oracle client --> HTTP --> Tomcat --> webapp (--> ???? (unknown to Tomcat))
> response :
> ( ???? (unknown to Tomcat) --> ) webapp --> Tomcat --> HTTP --> Oracle client
> Repeat : what the webapp does inside is unknown and of (almost) no interest to Tomcat.
> (For example, if the webapp uses HTTPS to communicate with something else, Tomcat never
knows this, and never plays any role in that part) So in this case, if the webapp generates
a response which happens to be a 500 error, Tomcat will forward this to the (Oracle client).
 Tomcat will never read any "input stream coming back from the webapp" or anything like this.
> It is the webapp which is responsible for that kind of thing.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

View raw message