This topic has not yet been rated - Rate this topic

2.2.7.2.3 RetrieveComplexType Request

The purpose of the RetrieveComplexType request is to enable the value of a ComplexType 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 an AtomPub-defined [RFC5023] request.

A RetrieveComplexType request MUST use the HTTP GET method and the URI specified in the HTTP request line MUST be a valid data service URI that identifies a ComplexType property on an EntityType instance, as specified in URI Format: Resource Addressing Rules (section 2.2.3).

If the RetrieveComplexType request was successful, the response MUST have a 200 status code as specified in [RFC2616]. The payload of such a response MUST be formatted using XML or Verbose JSON according to the rules defined in Complex Type (section 2.2.6.5.1) and Complex Type (section 2.2.6.3.4).

If the RetrieveComplexType 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 RetrieveComplexType request is defined as follows:

retrieveCT-Req          = retrieveCT-ReqLine
                          retrieveCT-ReqHeaders
                          CRLF

retrieveCT-ReqLine      = "GET"
                          SP entityTypeInstanceCTPropertyUri retrieveCT-QueryOps
                          SP HTTP-Version
                          CRLF

retrieveCT-ReqHeaders   = [DataServiceVersion]        ; see section 2.2.5.3
                          [MaxDataServiceVersion]     ; see section 2.2.5.7
                          [If-None-Match]             ; see section 2.2.5.6
                          [Accept]                    ; see section 2.2.5.1
                          *(HTTP-Header-Types)

entityTypeInstanceCTPropertyUri = <Any Resource Path identifying a ComplexType
                                   property on an Entity Type instance>
                                   ; see section 2.2.3 and section 2.2.3.5 -- URI3

retrieveCT-QueryOps      = ["?" (customQueryOption / formatQueryOp) 
                           *("&" customQueryOption)]
                           ; see section 2.2.3.1 & section 2.2.3.6.1.5

The syntax of a response to a successful RetrieveComplexType request is defined as follows:

retrieveCT-Resp         =  Status-Line                 ; see [RFC2616] section 6.1.1
                           retrieveCT-RespHeaders
                           CRLF
                           retrieveCT-RespBody

retrieveCT-RespHeaders  =  DataServiceVersion          ; see section 2.2.5.3
                           [ETag]                      ; see section 2.2.5.4
                           *(HTTP-Header-Types)

retrieveCT-RespBody     =  <ComplexType property value formatted using XML as per
                            section 2.2.6.5.1>
                           /(begin-object
                             quotation-mark "d" quotation-mark
                             name-seperator
                             (entityCTInVJson
                             end-object)
                             ; see section 2.2.6.3.4
 
Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.