Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Patch Available
Description
HTTP calls work perfectly unless the method called is marked oneway. Due to the specifics of the underlying HTTP protocol, the server side need to always send a response, even an empty one.
Currently this is not the case, hence the client waits for an answer which does not come, as the server end never completes the first request. Instead, the server starts to receive the next request on that connection, while the client is still waiting.
Ultimately this leads to the situation where the server detects a broken connection, throws a TransportException and therefore terminates on his end with an HTTP 500 status code. That response code, however, is not the result of the first call (the server is already done with that), but the result of the second call that never started.
At the point when the server closes the transport, the client finally awakens, gets the last HTTP error status and declares the call failed.
The problem is not the HTTP 500, this is absolutely correct. What is really missing is the server end completing the first HTTP call.
Attachments
Issue Links
- links to