2004/ws/addressing ws-addr-soap.xml,1.83,1.84 ws-addr.xsd,1.14,1.15

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 ----
          &lt;S:Subcode&gt;
            &lt;S:Value&gt;[Subcode]&lt;/S:Value&gt;
+           &lt;S:Subcode&gt;
+             &lt;S:Value&gt;[Subsubcode]&lt;/S:Value&gt;
+           &lt;/S:Subcode&gt;
          &lt;/S:Subcode&gt;
        &lt;/S:Code&gt;
***************
*** 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 ****
    &lt;S11:Header&gt;
      &lt;wsa:Action&gt;&nsuri;/fault&lt;/wsa:Action&gt;
!     &lt;wsa:FaultDetail&gt;[Detail]&lt;/wsa:FaultDetail&gt;
      &lt;!-- Other headers elided for brevity.  --&gt;
    &lt;/S11:Header&gt;
    &lt;S11:Body&gt;
      &lt;S11:Fault&gt;
!       &lt;faultcode&gt;[Subcode]&lt;/faultcode&gt;
        &lt;faultstring xml:lang="en"&gt;[Reason]&lt;/faultstring&gt;
      &lt;/S11:Fault&gt;
--- 573,582 ----
    &lt;S11:Header&gt;
      &lt;wsa:Action&gt;&nsuri;/fault&lt;/wsa:Action&gt;
!     &lt;wsa:FaultDetail&gt;[Details]&lt;/wsa:FaultDetail&gt;
      &lt;!-- Other headers elided for brevity.  --&gt;
    &lt;/S11:Header&gt;
    &lt;S11:Body&gt;
      &lt;S11:Fault&gt;
!       &lt;faultcode&gt;[Subcode] or [Subsubcode]&lt;/faultcode&gt;
        &lt;faultstring xml:lang="en"&gt;[Reason]&lt;/faultstring&gt;
      &lt;/S11:Fault&gt;
***************
*** 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 &lt;wsa:InvalidAddressingHeader&gt; element</p>
!           <p> The following describes the &lt;wsa:InvalidAddressingHeader&gt; 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 &lt;wsa:ProblemAction&gt; 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 &lt;wsa:MessageAddressingHeaderRequired&gt; element</p>
!           <p> The following describes the &lt;wsa:MessageAddressingHeaderRequired&gt; 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 &lt;wsa:RetryAfter&gt; 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 &lt;wsa:ProblemHeader&gt; element  that conveys a copy of the
+             offending header or a
+             &lt;wsa:ProblemHeaderQName&gt; 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 &lt;wsa:ProblemHeader&gt; element or
+               &lt;wsa:ProblemHeaderQName&gt; 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 &lt;wsa:ActionMismatch&gt;
+               element in addition to the &lt;wsa:ProblemHeader&gt; element or
+               &lt;wsa:ProblemHeaderQName&gt; 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 &lt;wsa:ProblemHeaderQName&gt; 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 &lt;wsa:ProblemIRI&gt; 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 &lt;wsa:ActionNotSupported&gt; element</p>
!           <p> The following describes the &lt;wsa:ActionNotSupported&gt; 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 &lt;wsa:ProblemAction&gt; element with a REQUIRED &lt;wsa:Action&gt; 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 &lt;wsa:RetryAfter&gt; element</p>
!           <p> The following describes the &lt;wsa:RetryAfter&gt; 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 &lt;wsa:RetryAfter&gt; element and an optional &lt;wsa:ProblemIRI&gt; element that conveys the [address] of the
!             [destination].</p>
          </div3>
        </div2>

Received on Wednesday, 20 July 2005 15:53:32 UTC