Absolute resource path and separate Host header Example : GET /path/service/People(1) HTTP/1.1 Host: myserver.mydomain.org:1234 Resource path relative to the batch request URI. Example : GET People(1) HTTP/1.1 Services MUST support all three formats for URLs of individual requests. Each body part that represents a single request MUST NOT include: authentication or authorization related HTTP headers Expect, From, Max-Forwards, Range, or TE headers Processors of batch requests MAY choose to disallow additional HTTP constructs in HTTP requests serialized within body parts. For example, a processor may choose to disallow chunked encoding to be used by such HTTP requests. Example 98: a batch request that contains the following individual requests in the order listed A request A change set that contains the following requests: Insert entity (with Content-ID = 1) Update entity (with Content-ID = 2) A second query request Note: For brevity, in the example, request bodies are excluded in favor of English descriptions inside <> brackets and OData-Version headers are omitted. Note also that the two empty lines after the Host header of the GET request are necessary: the first is part of the GET request header; the second is the empty body of the GET request, followed by a CRLF according to . POST /service/$batch HTTP/1.1 Host: host OData-Version: 4.0 Content-Type: multipart/mixed; Content-Length: ### --batch_36522ad7-fc75-4b56-8c71-56071383e77b Content-Type: application/http GET Host: host --batch_36522ad7-fc75-4b56-8c71-56071383e77b Content-Type: multipart/mixed; --changeset_77162fcd-b8da-41ac-a9f8-9357efbbd Content-Type: application/http Content-ID: 1 POST /service/Customers HTTP/1.1 Host: host Content-Type: application/json Content-Length: ### <JSON representation of a new Customer>
Absolute resource path and separate Host header Example : GET /path/service/People(1) HTTP/1.1 Host: myserver.mydomain.org:1234 Resource path relative to the batch request URI. Example : GET People(1) HTTP/1.1 Services MUST support all three formats for URLs of individual requests. Each body part that represents a single request MUST NOT include: authentication or authorization related HTTP headers Expect, From, Max-Forwards, Range, or TE headers Processors of batch requests MAY choose to disallow additional HTTP constructs in HTTP requests serialized within body parts. For example, a processor may choose to disallow chunked encoding to be used by such HTTP requests. Example 98: a batch request that contains the following individual requests in the order listed A request A change set that contains the following requests: Insert entity (with Content-ID = 1) Update entity (with Content-ID = 2) A second query request Note: For brevity, in the example, request bodies are excluded in favor of English descriptions inside <> brackets and OData-Version headers are omitted. Note also that the two empty lines after the Host header of the GET request are necessary: the first is part of the GET request header; the second is the empty body of the GET request, followed by a CRLF according to . POST /service/$batch HTTP/1.1 Host: host OData-Version: 4.0 Content-Type: multipart/mixed; Content-Length: ### --batch_36522ad7-fc75-4b56-8c71-56071383e77b Content-Type: application/http GET Host: host --batch_36522ad7-fc75-4b56-8c71-56071383e77b Content-Type: multipart/mixed; --changeset_77162fcd-b8da-41ac-a9f8-9357efbbd Content-Type: application/http Content-ID: 1 POST /service/Customers HTTP/1.1 Host: host Content-Type: application/json Content-Length: ### <JSON representation of a new Customer>
odata-v4.01-wd03-part1-protocol-2017-08-10.docx