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 [mailto:a...@ice-sa.com] 
> 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: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to