- From: Mark Baker <distobj@acm.org>
- Date: Sun, 03 Jun 2001 02:44:57 -0400
- To: xml-dist-app@w3.org
My 2c on this issue (I like tackling the tough ones 8-) SOAP is one way of extending HTTP's (or many other application protocol's) semantics. It is *not* a layer above HTTP in the same way that WebDAV isn't a layer on top of HTTP. SOAP and WebDAV are both extensions of HTTP. SOAP just happens to extend HTTP in a way that HTTP wasn't expecting (to say the least - and FWIW, this isn't a good thing). A SOAP fault carried on an HTTP response must therefore use HTTP semantics as best it can. There are four types of SOAP fault; - version mismatch - must understand - client - server The last one clearly maps quite cleanly to a 500. The third one maps cleanly to 400. (*) The other two aren't as straightforward. The "Version Mismatch" fault looks a bit like a 505 ("HTTP Version Not Supported"), but not exactly, since 505 is specific to HTTP versioning, not SOAP versioning. But I certainly believe that either 500, or a new 5xx code should communicate the intent. The "Must Understand" fault is quite close to a 417 ("Expectation Failed" - part of the HTTP 1.1 Expect feature). It's a 4xx ("Client Error") presumably because if the request hadn't been sent with that Expect header, you'd be fine. I suggest that either 400 or a new 4xx status code (not 417, as that's specific to Expect) be used for must understand as well. (*) I would normally suggest that using the specific 5xx or 4xx status codes (rather than 400 and 500) should be used, but as SOAP is trying to be application-protocol neutral, I can understand its desire not to. I hope that was helpful. MB
Received on Sunday, 3 June 2001 02:45:52 UTC