Uploaded image for project: 'OASIS Open Data Protocol (OData) TC'
  1. OASIS Open Data Protocol (OData) TC
  2. ODATA-1398

Improve text and examples for JSON and multipart batch

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: V4.01_OS
    • Fix Version/s: V4.01_ERRATA01
    • Component/s: JSON Format, Protocol
    • Labels:
      None
    • Environment:

      Proposed

    • Proposal:
      Hide

      Feedback from Martin Zurmuehl:

      1. https://docs.oasis-open.org/odata/odata-json-format/v4.01/cos01/odata-json-format-v4.01-cos01.html#sec_BatchResponse

      Example 50 only shows the body, the other response elements are missing, example 51 is more complete, as is the corresponding example 104 here: https://docs.oasis-open.org/odata/odata/v4.01/cs02/part1-protocol/odata-v4.01-cs02-part1-protocol.html#sec_MultipartBatchResponse).

      2. The normative text doesn't state which HTTP response code to send for synchronous batch responses; for async responses (19.6.) it is explicitly stated. Part 1: Protocol states this explicitly in https://docs.oasis-open.org/odata/odata/v4.01/cs02/part1-protocol/odata-v4.01-cs02-part1-protocol.html#sec_BatchRequestHeaders:

      If the set of request headers of a batch request are valid the service MUST return a 200 OK HTTP response code to indicate that the batch request was accepted for processing, but the processing is yet to be completed. The individual requests within the body of the batch request may subsequently fail or be malformed; however, this enables batch implementations to stream the results.

      If the service receives a batch request with an invalid set of headers it MUST return a 4xx response code and perform no further processing of the batch request.

      However this is (mis)placed under „Batch Request Headers“….

      3. The statement „but the processing is yet to be completed“ suggests that processing is not finished when sending 200 OK. We should rather say „The processing can be completed in whole or in part.“

      Show
      Feedback from Martin Zurmuehl: 1.  https://docs.oasis-open.org/odata/odata-json-format/v4.01/cos01/odata-json-format-v4.01-cos01.html#sec_BatchResponse Example 50 only shows the body, the other response elements are missing, example 51 is more complete, as is the corresponding example 104 here:  https://docs.oasis-open.org/odata/odata/v4.01/cs02/part1-protocol/odata-v4.01-cs02-part1-protocol.html#sec_MultipartBatchResponse ). 2. The normative text doesn't state which HTTP response code to send for synchronous batch responses; for async responses (19.6.) it is explicitly stated. Part 1: Protocol states this explicitly in  https://docs.oasis-open.org/odata/odata/v4.01/cs02/part1-protocol/odata-v4.01-cs02-part1-protocol.html#sec_BatchRequestHeaders : If the set of request headers of a batch request are valid the service MUST return a  200 OK  HTTP response code to indicate that the batch request was accepted for processing, but the processing is yet to be completed. The individual requests within the body of the batch request may subsequently fail or be malformed; however, this enables batch implementations to stream the results. If the service receives a batch request with an invalid set of headers it MUST return a  4xx response code  and perform no further processing of the batch request. However this is (mis)placed under „Batch Request Headers“…. 3. The statement „but the processing is yet to be completed“ suggests that processing is not finished when sending 200 OK. We should rather say „The processing can be completed in whole or in part.“

      Attachments

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            handl Ralf Handl
          • Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: