This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 8183 - Transfer: be clear on fault for bad representation
Summary: Transfer: be clear on fault for bad representation
Status: CLOSED REMIND
Alias: None
Product: WS-Resource Access
Classification: Unclassified
Component: Transfer (show other bugs)
Version: FPWD
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Doug Davis
QA Contact: notifications mailing list for WS Resource Access
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-04 18:35 UTC by Doug Davis
Modified: 2010-03-17 11:31 UTC (History)
1 user (show)

See Also:


Attachments

Description Doug Davis 2009-11-04 18:35:36 UTC
Transfer.Put() says:
--
Implementations MAY use the fault code wst:InvalidRepresentation if the presented representation is invalid for the target resource. The replacement representation could be considered to be invalid if it does not conform to the schema(s) for the target resource or otherwise violates some cardinality or type constraint. If an implementation detects that the presented representation is invalid it MUST generate a wst:InvalidRepresentation fault. 
--

The MAY in the first sentence is inconsistent with the MUST at the end.

Also, Create says:
--
In addition to the standard fault codes defined in WS-Addressing, implementations MAY use the fault code wst:InvalidRepresentation if the presented representation is invalid for the target resource. 
--
Why mention WSA faults?  that's just odd.
Why MAY?  For consistency, and interop, we should make this a MUST.

Proposal:
Replace first para with:
Implementations MUST use the fault code wst:InvalidRepresentation if the presented representation is invalid for the target resource. The replacement representation could be considered to be invalid if it does not conform to the schema(s) for the target resource or otherwise violates some cardinality or type constraint.
(s/MAY/MUST/ and remove last sentence)

And in Create replace that sentence with:
An implementation MUST use the fault code wst:InvalidRepresentation if the presented representation is invalid for the target resource.
Comment 1 Doug Davis 2009-11-04 18:39:22 UTC
just noticed that Delete says:
--
Implementations MAY respond with a fault message using the standard fault codes defined in WS-Addressing (e.g., wsa:ActionNotSupported). 
--
too.  

Amended proposal:
remove this sentence too.  We don't need to repeat the WSA spec.
Comment 2 Ram Jeyaraman 2010-01-02 18:24:46 UTC
I like to suggest a slightly modified proposal below. This allows the implementation to decide whether or not to do schema validation. 

Transfer.Put():

From:

Implementations MAY use the fault code wst:InvalidRepresentation if the
presented representation is invalid for the target resource. 

To:

Implementations MUST use the fault code wst:InvalidRepresentation if they detect that the presented representation is invalid for the target resource. 

Transfer.Create():

From:

In addition to the standard fault codes defined in WS-Addressing,
implementations MAY use the fault code wst:InvalidRepresentation if the
presented representation is invalid for the target resource. 

To:

An implementation MUST use the fault code wst:InvalidRepresentation if it detects that the presented representation is invalid for the target resource.

Transfer.Delete :

Remove:
Implementations MAY respond with a fault message using the standard fault codes
defined in WS-Addressing (e.g., wsa:ActionNotSupported).
Comment 4 Robert Freund 2010-01-12 15:17:05 UTC
2010-01-05 resolved with:
<Ram> If an implementation that performs schema validation on a presented representation detects that the presented representation is invalid for the target resource, then the implementation MUST use the fault code wst:InvalidRepresentation.

Proposal: modify 1st sentence of Put text, and Create text, with Ram's text above. Remove last sentence of Put para. Remove the WSA text from delete.