tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Husarik, Branko" <branko.husa...@hp.com>
Subject RE: Tomcat doesn't process error messages
Date Thu, 03 Jan 2013 12:42:16 GMT
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

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:aw@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org

Mime
View raw message