2.2.7.2.5 RetrieveValue Request

The purpose of the RetrieveValue Request is to enable the raw value of an EDMSimpleType property on an EntityType instance to be retrieved by a client. AtomPub, as specified in [RFC5023], does not define operations on subcomponents of an Entry Resource. As such, this request type is not based on any AtomPub-defined [RFC5023] request.

A RetrieveValue Request MUST use the HTTP GET method and the URI specified by the client in the HTTP request line MUST be a valid data service URI that identifies the raw value of a property (of type EDMSimpleType) on an EntityType instance, as specified in URI Format: Resource Addressing Rules (section 2.2.3).

If the RetrieveValue Request was successful, the response MUST have a 2xx status code, as specified in [RFC2616], and the response body MUST be formatted as specified in EDMSimpleType Property (section 2.2.6.4.1).

If the RetrieveValue Request is not successful (for example, an error occurred while processing the request), the response MUST be formatted according to Error Response (section 2.2.8.1).

The syntax of a RetrieveValue Request is defined as follows:

 retrieveValue-Req         = retrieveValue-ReqLine
                             retrieveValue-ReqHeaders
                             CRLF
  
 retrieveValue-ReqLine     = "GET"
                             SP entityTypeInstancePropertyUri
                                "/$value"
                                retrieveValue-QueryOps
                             SP HTTP-Version
                             CRLF
  
 retrieveValue-ReqHeaders  = [DataServiceVersion]        ; see section 2.2.5.3
                             [MaxDataServiceVersion]     ; see section 2.2.5.7
                             [If-None-Match]                  ; see section 2.2.5.6
                             *(HTTP-Header-Types)
  
 entityTypeInstancePropertyUri = ; see section 2.2.7.4.3
  
 retrieveValue-QueryOps    = ["?" customQueryOption *("&" customQueryOption)]
                             ; see section 2.2.3.6

The syntax of a response to a successful RetrieveValue Request is defined as follows:

 retrieveValue-Resp       = Status-Line                 ; see [RFC2616] section 6.1.1
                            retrieveValue-RespHeaders
                            CRLF
                            retrieveValue-RespBody
  
 retrieveValue-RespHeaders= DataServiceVersion          ; see section 2.2.5.3
                            [ETag]                      ; see section 2.2.5.4
                            [Content-Type]              ; see section 2.2.5.2
                            *(HTTP-Header-Types)
  
 retrieveValue-RespBody   = <Property value formatted as per section 2.2.6.4.1>