spring-projects / spring-projects/spring-ws
HTTP 500 with no fault is not handled correctly [SWS-956]
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 346
- Forks
- 323
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 7
Description
Ivan Brencsics opened SWS-956 and commented
When Spring WS makes a SOAP call, and receives back HTTP 500, it ignores the response code, and considers the call as successful:
o.a.h.wire | http-outgoing-0 << "HTTP/1.1 500 Internal Server Error [\r][\n]"
o.a.h.wire | http-outgoing-0 << "Content-Type: application/soap+xml[\r][\n]"
o.a.h.wire | http-outgoing-0 << "Content-Length: 0[\r][\n]"
o.a.h.wire | http-outgoing-0 << "Server: WEBrick/1.3.1 (Ruby/1.9.1/2009-12-07) OpenSSL/0.9.8e-rhel5[\r][\n]"
o.a.h.wire | http-outgoing-0 << "Date: Fri, 15 Apr 2016 14:46:53 GMT[\r][\n]"
o.a.h.wire | http-outgoing-0 << "Connection: Keep-Alive[\r][\n]"
o.a.h.wire | http-outgoing-0 << "[\r][\n]"
o.a.h.imp~.exe~.MainClientExec | Connection can be kept alive indefinitely
o.s.w.cli~.Mes~.received | Received no response for request [...]
On the contrary, when receiving 50x other then 500, it fails properly:
o.s.w.cli~.cor~.WebServiceTemplate | Received error for request [...]
Affects: 2.2.0.RELEASE
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the WebServiceTemplate/client execution path shown in the logs and reproduce a SOAP call that receives an empty HTTP 500 response. Compare it with the handling for other 50x responses and add a regression test; done means an HTTP 500 without a SOAP fault is reported as an error rather than a successful call.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100