- From: Marc Hadley via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 20 Jul 2005 15:53:24 +0000
- To: public-ws-addressing-eds@w3.org
Update of /sources/public/2004/ws/addressing
In directory hutz:/tmp/cvs-serv1434
Modified Files:
ws-addr-soap.xml ws-addr.xsd
Log Message:
Added resolution to issue lc76 - expanded faults section
Index: ws-addr.xsd
===================================================================
RCS file: /sources/public/2004/ws/addressing/ws-addr.xsd,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** ws-addr.xsd 14 Jun 2005 14:25:56 -0000 1.14
--- ws-addr.xsd 20 Jul 2005 15:53:22 -0000 1.15
***************
*** 99,102 ****
--- 99,108 ----
<xs:restriction base="xs:QName">
<xs:enumeration value="tns:InvalidAddressingHeader"/>
+ <xs:enumeration value="tns:InvalidAddress"/>
+ <xs:enumeration value="tns:InvalidEPR"/>
+ <xs:enumeration value="tns:InvalidCardinality"/>
+ <xs:enumeration value="tns:MissingAddressInEPR"/>
+ <xs:enumeration value="tns:DuplicateMessageID"/>
+ <xs:enumeration value="tns:ActionMismatch"/>
<xs:enumeration value="tns:MessageAddressingHeaderRequired"/>
<xs:enumeration value="tns:DestinationUnreachable"/>
***************
*** 115,119 ****
</xs:complexType>
! <xs:element name="InvalidAddressingHeader" type="tns:AttributedQNameType"/>
<xs:complexType name="AttributedQNameType">
<xs:simpleContent>
--- 121,125 ----
</xs:complexType>
! <xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/>
<xs:complexType name="AttributedQNameType">
<xs:simpleContent>
***************
*** 124,142 ****
</xs:complexType>
! <xs:element name="MessageAddressingHeaderRequired" type="tns:AttributedQNameType"/>
! <xs:element name="ActionNotSupported" type="tns:AttributedURIType"/>
- <xs:element name="FaultDetail">
- <xs:complexType>
- <xs:choice>
- <xs:element ref="tns:ActionNotSupported"/>
- <xs:element ref="tns:InvalidAddressingHeader"/>
- <xs:element ref="tns:MessageAddressingHeaderRequired"/>
- <xs:element ref="tns:RetryAfter"/>
- <xs:any namespace="##other" processContents="lax"/>
- </xs:choice>
- <xs:anyAttribute namespace="##other" processContents="lax"/>
- </xs:complexType>
- </xs:element>
</xs:schema>
--- 130,151 ----
</xs:complexType>
! <xs:element name="ProblemHeader" type="tns:AttributedAnyType"/>
! <xs:complexType name="AttributedAnyType">
! <xs:sequence>
! <xs:any namespace="##any" processContents="lax"/>
! </xs:sequence>
! <xs:anyAttribute namespace="##other" processContents="lax"/>
! </xs:complexType>
! <xs:element name="ProblemIRI" type="tns:AttributedURIType"/>
!
! <xs:element name="ProblemAction" type="tns:ProblemActionType"/>
! <xs:complexType name="ProblemActionType">
! <xs:sequence>
! <xs:element ref="tns:Action" minOccurs="0"/>
! <xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/>
! </xs:sequence>
! <xs:anyAttribute namespace="##other" processContents="lax"/>
! </xs:complexType>
</xs:schema>
Index: ws-addr-soap.xml
===================================================================
RCS file: /sources/public/2004/ws/addressing/ws-addr-soap.xml,v
retrieving revision 1.83
retrieving revision 1.84
diff -C2 -d -r1.83 -r1.84
*** ws-addr-soap.xml 19 Jul 2005 20:08:16 -0000 1.83
--- ws-addr-soap.xml 20 Jul 2005 15:53:22 -0000 1.84
***************
*** 445,451 ****
<p> [Code] The fault code, use of the specified fault code is REQUIRED.</p>
<p> [Subcode] The fault subcode, use of the specified fault subcode is REQUIRED.</p>
<p> [Reason] The English language reason element, use of the specified fault code is
RECOMMENDED but alternate text MAY be used.</p>
! <p> [Detail] The detail element, use of the specified detail element is REQUIRED. If absent, no detail element is defined for the fault.</p>
<div2>
<head>SOAP 1.2 Fault Binding</head>
--- 445,454 ----
<p> [Code] The fault code, use of the specified fault code is REQUIRED.</p>
<p> [Subcode] The fault subcode, use of the specified fault subcode is REQUIRED.</p>
+ <p> [Subsubcode] A more specific fault subcode that may be used to further qualify the value
+ of the [Subcode] property, use of a specified fault subcode is OPTIONAL.</p>
<p> [Reason] The English language reason element, use of the specified fault code is
RECOMMENDED but alternate text MAY be used.</p>
! <p> [Details] The detail elements, use of the specified detail elements is REQUIRED. If absent,
! no detail elements are defined for the fault.</p>
<div2>
<head>SOAP 1.2 Fault Binding</head>
***************
*** 467,470 ****
--- 470,480 ----
</gitem>
<gitem>
+ <label>[Subsubcode]</label>
+ <def>
+ <p>The value of the [Subsubcode] property is bound as the value of the SOAP faults
+ S:Fault/S:Code/S:Subcode/S:/Subcode/S:Value element information item.</p>
+ </def>
+ </gitem>
+ <gitem>
<label>[Reason]</label>
<def>
***************
*** 474,480 ****
</gitem>
<gitem>
! <label>[Detail]</label>
<def>
! <p>The value of the [Detail] property is bound as child of the SOAP faults
S:Fault/S:Detail element information item.</p>
</def>
--- 484,490 ----
</gitem>
<gitem>
! <label>[Details]</label>
<def>
! <p>The value of the [Details] property is bound as child elements of the SOAP faults
S:Fault/S:Detail element information item.</p>
</def>
***************
*** 495,498 ****
--- 505,511 ----
<S:Subcode>
<S:Value>[Subcode]</S:Value>
+ <S:Subcode>
+ <S:Value>[Subsubcode]</S:Value>
+ </S:Subcode>
</S:Subcode>
</S:Code>
***************
*** 515,521 ****
<glist>
<gitem>
! <label>[Subcode]</label>
<def>
! <p>The value of the [Subcode] property is bound as the value of the SOAP faults
S11:Fault/faultcode element.</p>
</def>
--- 528,535 ----
<glist>
<gitem>
! <label>[Subcode] or [Subsubcode]</label>
<def>
! <p>The value of the [Subsubcode] or, if that is not specified, the value of the [Subcode]
! property is bound as the value of the SOAP faults
S11:Fault/faultcode element.</p>
</def>
***************
*** 529,537 ****
</gitem>
<gitem>
! <label>[Detail]</label>
<def>
<p>The SOAP 1.1 fault detail is only for use with faults related to the body of a
message and is therefore not used for SOAP 1.1 faults related to processing of
! addressing headers. Instead the value of the [Detail] property is bound as the value
of a new wsa:FaultDetail SOAP header block. The following describes the
wsa:FaultDetail element:</p>
--- 543,551 ----
</gitem>
<gitem>
! <label>[Details]</label>
<def>
<p>The SOAP 1.1 fault detail is only for use with faults related to the body of a
message and is therefore not used for SOAP 1.1 faults related to processing of
! addressing headers. Instead the value of the [Details] property is bound as the value
of a new wsa:FaultDetail SOAP header block. The following describes the
wsa:FaultDetail element:</p>
***************
*** 540,545 ****
<label>/wsa:FaultDetail</label>
<def>
! <p>One of wsa:ActionNotSupported, wsa:InvalidAddressingHeader,
! wsa:MessageAddressingHeaderRequired, wsa:RetryAfter or xs:any.</p>
</def>
</gitem>
--- 554,558 ----
<label>/wsa:FaultDetail</label>
<def>
! <p>Zero or more of the elements defined in <specref ref="faultdetailelements"/>.</p>
</def>
</gitem>
***************
*** 560,569 ****
<S11:Header>
<wsa:Action>&nsuri;/fault</wsa:Action>
! <wsa:FaultDetail>[Detail]</wsa:FaultDetail>
<!-- Other headers elided for brevity. -->
</S11:Header>
<S11:Body>
<S11:Fault>
! <faultcode>[Subcode]</faultcode>
<faultstring xml:lang="en">[Reason]</faultstring>
</S11:Fault>
--- 573,582 ----
<S11:Header>
<wsa:Action>&nsuri;/fault</wsa:Action>
! <wsa:FaultDetail>[Details]</wsa:FaultDetail>
<!-- Other headers elided for brevity. -->
</S11:Header>
<S11:Body>
<S11:Fault>
! <faultcode>[Subcode] or [Subsubcode]</faultcode>
<faultstring xml:lang="en">[Reason]</faultstring>
</S11:Fault>
***************
*** 574,581 ****
</div2>
! <div2>
<head>Fault Detail Elements</head>
<p>The following subsections define a set of elements used to convey additional information
in the faults described in <specref ref="soapfaults"/>.</p>
<div3>
<head>Problem Header</head>
--- 587,599 ----
</div2>
! <div2 id="faultdetailelements">
<head>Fault Detail Elements</head>
<p>The following subsections define a set of elements used to convey additional information
in the faults described in <specref ref="soapfaults"/>.</p>
+ <ednote>
+ <edtext>Additional detail elements may be defined if feedback during CR indicates that
+ this would be useful.</edtext>
+ </ednote>
+
<div3>
<head>Problem Header</head>
***************
*** 635,664 ****
<div3>
<head>Problem Action</head>
! </div3>
! </div2>
!
! <div2 id="soapfaults">
! <head>Predefined Faults</head>
! <div3 id="invalidmapfault">
! <head> Invalid Addressing Header</head>
! <p>A header representing a WS-Addressing 1.0 Message Addressing Property is invalid and
! cannot be processed. The validity failure can be either structural or semantic, e.g. a
! [destination] that is not an IRI or a [relationship] to a [message id] that was never
! issued.</p>
! <p> [Code] a QName representing the value S:Sender</p>
! <p> [Subcode] a QName representing the value wsa:InvalidAddressingHeader</p>
! <p> [Reason] the string: "A header representing a Message Addressing Property is not valid
! and the message cannot be processed" </p>
! <p> [Detail] a <wsa:InvalidAddressingHeader> element</p>
! <p> The following describes the <wsa:InvalidAddressingHeader> element:</p>
<glist>
<gitem>
! <label>/wsa:InvalidAddressingHeader</label>
<def>
! <p>A QName representing the name of the root element of the invalid header block</p>
</def>
</gitem>
<gitem>
! <label>/wsa:InvalidAddressingHeader/@{any}</label>
<def>
<p>Optional extensibility attributes that do not affect processing.</p>
--- 653,678 ----
<div3>
<head>Problem Action</head>
! <p> The following describes the <wsa:ProblemAction> element:</p>
<glist>
<gitem>
! <label>/wsa:ProblemAction/wsa:Action</label>
<def>
! <p>An optional element that provides the [action] that caused the problem.</p>
</def>
</gitem>
<gitem>
! <label>/wsa:ProblemAction/wsa:SoapAction</label>
! <def>
! <p>An optional element that provides the SOAPAction IRI that caused the problem.</p>
! </def>
! </gitem>
! <gitem>
! <label>/wsa:ProblemAction/{any}</label>
! <def>
! <p>Optional extensibility elements that do not affect processing.</p>
! </def>
! </gitem>
! <gitem>
! <label>/wsa:ProblemAction/@{any}</label>
<def>
<p>Optional extensibility attributes that do not affect processing.</p>
***************
*** 667,688 ****
</glist>
</div3>
! <div3 id="missingmapfault">
! <head> Message Addressing Header Required</head>
! <p>A required header representing a Message Addressing Property is absent.</p>
! <p> [Code] a QName representing the value S:Sender</p>
! <p> [Subcode] a QName representing the value wsa:MessageAddressingHeaderRequired</p>
! <p> [Reason] the string: "A required header representing a Message Addressing Property is
! not present"</p>
! <p> [Detail] a <wsa:MessageAddressingHeaderRequired> element</p>
! <p> The following describes the <wsa:MessageAddressingHeaderRequired> element:</p>
<glist>
<gitem>
! <label>/wsa:MessageAddressingHeaderRequired</label>
<def>
! <p>A QName representing the name of the missing header element</p>
</def>
</gitem>
<gitem>
! <label>/wsa:MessageAddressingHeaderRequired/@{any}</label>
<def>
<p>Optional extensibility attributes that do not affect processing.</p>
--- 681,698 ----
</glist>
</div3>
! <div3>
! <head>Retry After</head>
! <p> The following describes the <wsa:RetryAfter> element:</p>
<glist>
<gitem>
! <label>/wsa:RetryAfter</label>
<def>
! <p>This element (whose content is of type xs:unsignedLong) is a suggested minimum
! duration in milliseconds to wait before retransmitting the message. Omission of this
! element indicates that a retry is never likely to succeed.</p>
</def>
</gitem>
<gitem>
! <label>/wsa:RetryAfter/@{any}</label>
<def>
<p>Optional extensibility attributes that do not affect processing.</p>
***************
*** 691,694 ****
--- 701,774 ----
</glist>
</div3>
+
+ </div2>
+
+ <div2 id="soapfaults">
+ <head>Predefined Faults</head>
+ <ednote>
+ <edtext>Additional faults may be defined if feedback during CR indicates that
+ this would be useful.</edtext>
+ </ednote>
+
+ <div3 id="invalidmapfault">
+ <head> Invalid Addressing Header</head>
+ <p>A header representing a WS-Addressing 1.0 Message Addressing Property is invalid and
+ cannot be processed. The validity failure can be either structural or semantic, e.g. a
+ [destination] that is not an IRI or a [relationship] to a [message id] that was never
+ issued.</p>
+ <p> [Code] a QName representing the value S:Sender</p>
+ <p> [Subcode] a QName representing the value wsa:InvalidAddressingHeader</p>
+ <p> [Reason] the string: "A header representing a Message Addressing Property is not valid
+ and the message cannot be processed" </p>
+ <p> [Details] either a <wsa:ProblemHeader> element that conveys a copy of the
+ offending header or a
+ <wsa:ProblemHeaderQName> element that conveys the QName of the root element of the
+ offending header.</p>
+ <p>The invalid addressing header fault can be further narrowed in scope by use of the
+ additional [Subsubcode]s specified in the following subsections. Use of these
+ [Subsubcode] values is OPTIONAL.</p>
+ <div4>
+ <head>wsa:InvalidAddress</head>
+ <p>Specifies that an [address] was invalid, [Details] MAY contain a wsa:ProblemIRI
+ element in addition to the <wsa:ProblemHeader> element or
+ <wsa:ProblemHeaderQName> element.</p>
+ </div4>
+ <div4>
+ <head>wsa:InvalidEPR</head>
+ <p>Specifies that the invalid header was expected to be an EPR but was not valid.</p>
+ </div4>
+ <div4>
+ <head>wsa:InvalidCardinality</head>
+ <p>Specifies that there was a greater than expected number of the specified header.</p>
+ </div4>
+ <div4>
+ <head>wsa:MissingAddressInEPR</head>
+ <p>Specifies that the invalid header was expected to be an EPR but did not contain an
+ [address].</p>
+ </div4>
+ <div4>
+ <head>wsa:DuplicateMessageID</head>
+ <p>Specifies that the invalid header conveyed a [message id] that was a duplicate of one
+ already received.</p>
+ </div4>
+ <div4>
+ <head>wsa:ActionMismatch</head>
+ <p>Specifies that the [action] and SOAPAction for the message did not match, [Details]
+ MAY contain a <wsa:ActionMismatch>
+ element in addition to the <wsa:ProblemHeader> element or
+ <wsa:ProblemHeaderQName> element.</p>
+ </div4>
+
+ </div3>
+ <div3 id="missingmapfault">
+ <head> Message Addressing Header Required</head>
+ <p>A required header representing a Message Addressing Property is absent.</p>
+ <p> [Code] a QName representing the value S:Sender</p>
+ <p> [Subcode] a QName representing the value wsa:MessageAddressingHeaderRequired</p>
+ <p> [Reason] the string: "A required header representing a Message Addressing Property is
+ not present"</p>
+ <p> [Details] a <wsa:ProblemHeaderQName> element that conveys the QName of the
+ message addressing header that was missing.</p>
+ </div3>
<div3 id="destinationfault">
<head> Destination Unreachable</head>
***************
*** 697,701 ****
<p> [Subcode] a QName representing the value wsa:DestinationUnreachable</p>
<p> [Reason] the string: "No route can be determined to reach [destination]"</p>
! <p> [Detail] (empty)</p>
</div3>
<div3 id="actionfault">
--- 777,782 ----
<p> [Subcode] a QName representing the value wsa:DestinationUnreachable</p>
<p> [Reason] the string: "No route can be determined to reach [destination]"</p>
! <p> [Details] an optional <wsa:ProblemIRI> element that conveys the [address] of the
! [destination].</p>
</div3>
<div3 id="actionfault">
***************
*** 705,724 ****
<p> [Subcode] a QName representing the value wsa:ActionNotSupported</p>
<p> [Reason] the string: "The [action] cannot be processed at the receiver"</p>
! <p> [Detail] a <wsa:ActionNotSupported> element</p>
! <p> The following describes the <wsa:ActionNotSupported> element:</p>
! <glist>
! <gitem>
! <label>/wsa:ActionNotSupported</label>
! <def>
! <p>The value of the wsa:Action header block</p>
! </def>
! </gitem>
! <gitem>
! <label>/wsa:ActionNotSupported/@{any}</label>
! <def>
! <p>Optional extensibility attributes that do not affect processing.</p>
! </def>
! </gitem>
! </glist>
</div3>
<div3 id="unavailablefault">
--- 786,791 ----
<p> [Subcode] a QName representing the value wsa:ActionNotSupported</p>
<p> [Reason] the string: "The [action] cannot be processed at the receiver"</p>
! <p> [Details] a <wsa:ProblemAction> element with a REQUIRED <wsa:Action> child
! element</p>
</div3>
<div3 id="unavailablefault">
***************
*** 731,752 ****
<p> [Subcode] a QName representing the value wsa:EndpointUnavailable</p>
<p> [Reason] the string "The endpoint is unable to process the message at this time"</p>
! <p> [Detail] a <wsa:RetryAfter> element</p>
! <p> The following describes the <wsa:RetryAfter> element:</p>
! <glist>
! <gitem>
! <label>/wsa:RetryAfter</label>
! <def>
! <p>This element (whose content is of type xs:unsignedLong) is a suggested minimum
! duration in milliseconds to wait before retransmitting the message. Omission of this
! element indicates that a retry is never likely to succeed.</p>
! </def>
! </gitem>
! <gitem>
! <label>/wsa:RetryAfter/@{any}</label>
! <def>
! <p>Optional extensibility attributes that do not affect processing.</p>
! </def>
! </gitem>
! </glist>
</div3>
</div2>
--- 798,803 ----
<p> [Subcode] a QName representing the value wsa:EndpointUnavailable</p>
<p> [Reason] the string "The endpoint is unable to process the message at this time"</p>
! <p> [Details] an optional <wsa:RetryAfter> element and an optional <wsa:ProblemIRI> element that conveys the [address] of the
! [destination].</p>
</div3>
</div2>
Received on Wednesday, 20 July 2005 15:53:32 UTC