I'm posting this here rather than on the users list as it's a bit technical,
and I suspect it might indicate a bug in either CXF or at a lower level.

However, I'm really not sure how to simulate it in a way that would make a
convenient JIRA entry. I'm happy to bundle up some example code, if someone
could suggest a way to make the conditions realistic.

The scenario is as follows:

One of our collaborators at a remote site, using Metro, wrote a client for a
JAXB-JAXWS service here that runs long jobs, but synchronously. (Not my
design decision...)

We were getting some weird behaviour on larger requests, where my web method
was returning a value, but his client was just hanging indefinitely, waiting
for the data.

Eventually we tracked it down using Wireshark to a TCP RST packet coming
from his end after 30mins -- or more specifically, from the proxy server all
his outbound requests were going through. This was causing the TCP
connection from the proxy to here to be torn down, but apparently the proxy
wasn't closing the connection on the other side, so Metro thought it was
still open and kept waiting.

However!

What worries me is that when my CXF method returned the JAXB object, no
exception seems to have been raised, even though the TCP connection between
me and the proxy was closed long before. (I verified this with netstat.)

I couldn't see anything in the CXF or Tomcat logs that suggested anything
unusual had happened.

Is this normal behaviour?

Cheers,

Andrew.

-- 
View this message in context: 
http://www.nabble.com/HTTP-transport----no-exception-on-server-side-when-client-has-reset-TCP-connection-tp24182294p24182294.html
Sent from the cxf-dev mailing list archive at Nabble.com.

Reply via email to