OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-219) Detail state and procedures in format agnostic description of In-Stream Error handling


     [ http://tools.oasis-open.org/issues/browse/ODATA-219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-219:
-----------------------------

    Resolution: 
Clarified wording. Note that in-stream errors only apply to responses whose body may be streamed (so wouldn't, for example, apply to 204 No Content)

Accepted:https://www.oasis-open.org/committees/download.php/49212/odata-meeting-37_on-20130516-minutes.html#odata-219

  was:Clarified wording. Note that in-stream errors only apply to responses whose body may be streamed (so wouldn't, for example, apply to 204 No Content)


> Detail state and procedures in format agnostic description of In-Stream Error handling
> --------------------------------------------------------------------------------------
>
>                 Key: ODATA-219
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-219
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData Protocol 
>    Affects Versions: V4.0_WD01
>            Reporter: Stefan Drees
>            Assignee: Michael Pizzo
>            Priority: Minor
>             Fix For: V4.0_WD01
>
>
> In the current revision of the Work Product [OData Core Part 1: Protocol, Version 1.0](https://www.oasis-open.org/committees/download.php/47547/odata-core-v1.0-wd01-part1-protocol-2012-11-26.doc) in section 9.3 In-Stream Errors the relevant states and procedures might be specified with more rigor without diving into specific formats or usecases. Currently I have no proposal, since I can't answer some questions of understanding (see below), but am willing to provide one, once these questions have been answered.
> Currently section 9.3 "In-Stream Errors" reads:
> "In the case that the service encounters an error after sending a success status to the client, the service MUST generate an in-stream error which SHOULD leave the response malformed. Clients MUST assume that any malformed responses are invalid and results SHOULD be discarded.
> This specification does not prescribe a particular format for such in-stream errors."
> In my understanding the sentence: "[...]the service encounters an error after sending a success status to the client," indicates that the HTTP headers (associated with success) have already been sent to the network interface.
> The next part " the service MUST generate an in-stream error which SHOULD leave the response malformed. " tries to be format agnostic. Together with the last sentence in the paragraph "Clients MUST assume that any malformed responses are invalid and results SHOULD be discarded.
> " I derive from this, that this magical "in-stream error"-thingie is completely volatile, since the client MUST assume, that the whole response (any info therein!) are invalid and SHOULD throw it away without further inspection.
> The recipes for $format=json and any xml like the default atom should be "stop adding to the response body, just flush the pipe. Right?
> The last paragraph (in that light) looks a bit lawyer like (to me).
> I also am curious, how the service shall generate an in-stream error, in use cases like:
>  "A Prefer header with a value of return-no-content requests that the service invoke the request but not return content in the response. The service MAY honor this request by returning 204 No Content."(8.4.1 The Prefer Header) 
> or: 
> "A service MAY reply to a Data Modification Request with 202 Accepted, indicating that the request has been accepted but has not yet completed. In this case, the response MUST contain a Location header in addition to a Retry-After header, and the response body MUST be empty."(9.1.3 202 Accepted Response Code)
> or:
> "A service may reply to a Data Modification Request with 204 No Content. In this case, the response body
> MUST be empty."(9.1.4 204 No Content Response Code)
> These share the body-less response class. So is it expected, that in those cases and where applicable the "body MUST be empty" is changed through say adding a character like '<' to the network pipe to invalidate independant of chosen $format (json, xml.*) and replace this by a "odata malformed body"? But if so, what about a response to say a GET /Entities(1)/Property/$value ? In these cases it may become impossible to invalidate the response body (say for the default type Edm.String)
> Maybe the term In-Stream error also contributes to misunderstandings? Which states of error are included for which HTTP operations? Might some of the latter better be excluded or described in an extra paragraph?
> Any feedback, help appreciated.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]