Re: HTTP Status Codes for QueryRequestRefused

Kendall Clark wrote:
> On Jan 5, 2006, at 10:33 AM, Seaborne, Andy wrote:
> 
> 
>>I would like to see some text that states that it is possible for  
>>the HTTP request to rturn other (HTTP related) codes because it is  
>>outside the defined WSDL.
> 
> 
> For the reasons I mentioned I don't believe this is necessary and am  
> not inclined to write any such language. I will, however, happily  
> accept and incorporate language.
> 
> Cheers,
> Kendall
> 
> 

Your reasons are that the document does not say anything about other HTTP 
codes.  My reading is that the document does talk about them by exclusion 
because it says:

"""
QueryRequestRefused

This fault message must be returned when a client submits a request that the 
server is unable or unwilling to process, perhaps because of resource 
consumption or other policy considerations.
"""

The "must be returned" means that for any condition (other that 
MalformedQuery) QueryRequestRefused is to be used, restricting the use of HTTP 
conditions such as "403 - Forbidden".  Server errors like the front-end 
generated 502 also fall into that category.

[Actually that's a bit of a contradiction with the defintion of MalformedQuery 
because a server can't process that one either]


The document also says:
"""
if a SPARQL Protocol service supports HTTP bindings, it must support the 
bindings as described in sparql-protocol-query.wsdl.
"""
so that depends on whether the WSDL is prescriptive as to the range of faults 
that that interface can return.  My understanding is the WSDL is a complete 
description of the interface.

You have mentioned that is not your reading of the document so maybe just 
clarifying with some text will fine.  The minimum change that would clear this 
up might be to clarify it in the HTTP section with something like:

"A SPARQL Protocol service may use the full range of HTTP status codes while 
repecting the meaning of 500 [1] and 400 [2].

[1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1
[2] http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1

A client must reflect these as faults QueryRequestRefused or MalformedQuery in 
reporting the results of a SPAQRL request."

	Andy

Received on Friday, 6 January 2006 15:46:08 UTC