We have a CMT SLSB in WebSphere 5.x that calls a remote web service. If we call the remote service with an incorrect password (I'd call this a bug on their end) they never return. Then our bean hangs forever.
We can simulate this with a local web service mock tester by setting the configurable latency to three minutes. It is different in that it does eventually return something.
In the log we see the container report a timeout after the configured 120 seconds. This happens both with the remote service and the mock service. But nothing at all happens in the calling code. When the mock service returns after 3 minutes, the calling code catches and reports a transaction timeout exception. Because the remote service never returns we never see an exception and the client hangs forever waiting.
I expected the time out to cause an exception and blow away the whole call into the session bean after 2 minutes. Does the
thread waiting on the web service somehow block the exception? Does any of this make sense?