- From: Hugo Haas via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 08 Apr 2005 11:18:52 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20 In directory homer:/tmp/cvs-serv27703 Modified Files: wsdl20-adjuncts.xml Log Message: LC76d: added whttp:header Index: wsdl20-adjuncts.xml =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-adjuncts.xml,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** wsdl20-adjuncts.xml 8 Apr 2005 10:45:49 -0000 1.24 --- wsdl20-adjuncts.xml 8 Apr 2005 11:18:49 -0000 1.25 *************** *** 1015,1018 **** --- 1015,1022 ---- <item><p>{http version} as defined in <specref ref="http-version-decl"/></p></item> + <item><p>{http location} as defined in <specref + ref="http-operation-decl"/></p></item> + <item><p>{http headers} as defined in <specref + ref="http-headers-decl"/></p></item> <item><p>{http transfer coding} as defined in <specref ref="http-transfer-coding-decl"/></p></item> *************** *** 1022,1027 **** realm} as defined in <specref ref="http-auth-decl"/></p></item> - <item><p>{http location} as defined in <specref - ref="http-operation-decl"/></p></item> </ulist> --- 1026,1029 ---- *************** *** 1052,1060 **** <documentation />? <<b>wsoap:header</b> element="<emph>xs:QName</emph>" required="xs:boolean"? mustUnderstand="xs:boolean"?> <documentation />? </<b>wsoap:header</b>>* ! <<b>wsoap:module</b> ... />* [ <feature /> | <property /> ]* --- 1054,1063 ---- <documentation />? + <<b>wsoap:module</b> ... />* <<b>wsoap:header</b> element="<emph>xs:QName</emph>" required="xs:boolean"? mustUnderstand="xs:boolean"?> <documentation />? </<b>wsoap:header</b>>* ! <<b>whttp:header</b> ... />*?? [ <feature /> | <property /> ]* *************** *** 1074,1079 **** whttp:transferCoding="<emph>xs:string</emph>"?? > <documentation />? - <<b>wsoap:header</b> ... />* <<b>wsoap:module</b> ... />* [ <feature /> | <property /> ]* </input>* --- 1077,1083 ---- whttp:transferCoding="<emph>xs:string</emph>"?? > <documentation />? <<b>wsoap:module</b> ... />* + <<b>wsoap:header</b> ... />* + <<b>whttp:header</b> ... />*?? [ <feature /> | <property /> ]* </input>* *************** *** 1082,1087 **** whttp:transferCoding="<emph>xs:string</emph>"?? > <documentation />? - <<b>wsoap:header</b> ... />* <<b>wsoap:module</b> ... />* [ <feature /> | <property /> ]* </output>* --- 1086,1092 ---- whttp:transferCoding="<emph>xs:string</emph>"?? > <documentation />? <<b>wsoap:module</b> ... />* + <<b>wsoap:header</b> ... />* + <<b>whttp:header</b> ... />*?? [ <feature /> | <property /> ]* </output>* *************** *** 1198,1202 **** <attval>false</attval>.</p> ! <note><p>The order of element information items validated by this complex type definition is insignificant.</p></note> --- 1203,1207 ---- <attval>false</attval>.</p> ! <note><p>The order of &EII;s validated by this complex type definition is insignificant.</p></note> *************** *** 1879,1883 **** </div2> - <!-- +++++++++ --> --- 1884,1887 ---- *************** *** 1922,1926 **** such headers may be used.</p> ! <p>The properties of the SOAP Header component are as follows:</p> --- 1926,1930 ---- such headers may be used.</p> ! <p>The properties of the SOAP Header Block component are as follows:</p> *************** *** 1969,1973 **** </eg> ! <p>The XML representation for a SOAP Module component is an &EII; with the following Infoset properties: </p> <ulist> --- 1973,1977 ---- </eg> ! <p>The XML representation for a SOAP Header Block component is an &EII; with the following Infoset properties: </p> <ulist> *************** *** 2315,2318 **** --- 2319,2325 ---- <b>whttp:code</b>="<emph>xs:int</emph>"? > <documentation />? + <<b>whttp:header</b> element="<emph>xs:QName</emph>" required="xs:boolean"?> + <documentation />? + </<b>whttp:header</b>>* [ <feature /> | <property /> ]* </fault>* *************** *** 2330,2333 **** --- 2337,2341 ---- <b>whttp:transferCoding</b>="<emph>xs:string</emph>? > <documentation />?>* + <<b>whttp:header</b> ... />* [ <feature /> | <property /> ]* </input>* *************** *** 2336,2339 **** --- 2344,2348 ---- <b>whttp:transferCoding</b>="<emph>xs:string</emph>? > <documentation />? + <<b>whttp:header</b> ... />* [ <feature /> | <property /> ]* </output>* *************** *** 2527,2530 **** --- 2536,2588 ---- server.</p></item> + + <item> + + <p><emph>HTTP Header Construction.</emph> If the {http + headers} property as defined in section <specref + ref="soap-headers-decl"/> exists and is not empty in a + Binding Message Reference or Binding Fault component, &EII;s + conforming to the complex type definition of the {element} + property of the HTTP Header component in the {http + headers} property MUST be turned into HTTP headers for + the corresponding messages if the {required} property of the + HTTP Header component has a value of + <attval>true</attval>, and MAY be so if its value is + <attval>false</attval>.</p> + + <note><p>The order of &EII;s validated by this complex + type definition is insignificant.</p></note> + + <p>Only &EII;s of type <emph>xs:string</emph> or + <emph>xs:anyURI</emph> may be serialized. All complex data + types are ignored. Attributes on data elements are + ignored.</p> + + <p>Each such &EII; is serialized as follows:</p> + + <ulist> + <item> + <p> + The HTTP header name used is the &EII; local + name. The &EII; local name MUST follow the + field-name production rules as specified in section + 4.2 of <bibref ref="RFC2616"/>; if not, the &EII; + MUST be ignored. If an HTTP header corresponding to + the &EII; local name is set by a different mechanism + other than the HTTP Binding, such as the HTTP stack + or another feature, then an error MUST be raised. + </p> + </item> + <item> + <p> + The HTTP header content is serialized from the + corresponding &EII; value in UTF-8. If this + serialization is NOT possible, then the &EII;MUST be + ignored. + </p> + </item> + </ulist> + + </item> </ulist> </div2> *************** *** 2935,2938 **** --- 2993,3197 ---- <!-- +++++++++ --> + + <div2 id="http-headers-decl"> + <head>Declaring HTTP Headers</head> + + <div3 id="http-headers-decl-description"> + <head>Description</head> + + <p>HTTP allows the use of headers in messages. This binding + allows users to declare the HTTP headers in use on a per + message ond on a per fault basis.</p> + + </div3> + + <div3 id="http-headers-decl-relate"> + <head>Relationship to WSDL Component Model</head> + + <p>The HTTP Header binding specification adds the + following property to the WSDL component model (as defined + in <bibref ref="WSDL-PART1"/>):</p> + + <ulist> + <item><p>{http headers}, OPTIONAL, a set of HTTP Header + components as defined in <specref + ref="http-header-decl-property"/>, to the Binding Fault + and Binding Message Reference components.</p></item> + </ulist> + </div3> + + <div3 id='http-header-decl-property'> + <head>HTTP Header Component</head> + + <p>A HTTP Header component describes an abstract piece of + header data (message headers) that is associated with the + exchange of messages between the communicating parties. The + presence of a HTTP Header component in a WSDL description + indicates that the service supports headers and MAY require + a Web service consumer/client that interacts with the + service to use the described header. Zero or more such + headers may be used.</p> + + <p>The properties of the HTTP Header component are as + follows:</p> + + <ulist> + <item> <p>{element}, REQUIRED. A <emph>xs:QName</emph>, a + reference to an XML element declaration in the + &description-element_declarations-p; property of the + Description Component. This element represents a HTTP + header.</p> + </item> + <item> <p>{required}, REQUIRED. A <emph>xs:boolean</emph> + indicating whether the HTTP header identified by the + {element} property MUST be used.</p> </item> + </ulist> + </div3> + + <div3 id="http-headers-decl-xml"> + <head>XML Representation</head> + + <eg xml:space="preserve"> + <description> + <binding name="<emph>xs:NCName</emph>" type="<emph>&wsdl-http-ns;</emph>" > + <fault ref="<emph>xs:QName</emph>"> + <<b>whttp:header</b> element="<emph>xs:QName</emph>" required="xs:boolean"?> + <documentation />? + </<b>whttp:header</b>>* + ... + </fault>* + <operation ref="<emph>xs:QName</emph>" > + <input messageLabel="<emph>xs:NCName</emph>"?> + <<b>whttp:header</b> ... />* + ... + </input>* + <output messageLabel="<emph>xs:NCName</emph>"?> + <<b>whttp:header</b> ... />* + ... + </output>* + </operation>* + </binding> + </description> + </eg> + + <p>The XML representation for a HTTP Header component is an &EII; + with the following Infoset properties: </p> + <ulist> + <item> + <p>A [local name] of <el>header</el> + </p> + </item> + <item> + <p>A [namespace name] of + <attval>&wsdl-http-ns;</attval> + </p> + </item> + <item> + <p>One or more &AII;s amongst its [attributes] as follows:</p> + <ulist> + <item> + <p>A REQUIRED <att>element</att> + &AII; with the following + Infoset properties:</p> + <ulist> + <item> + <p>A [local name] of <att>element</att> + </p> + </item> + <item> + <p>A [namespace name] which has no value</p> + </item> + <item> + <p>A type of <emph>xs:QName</emph></p> + </item> + </ulist> + </item> + <item> + <p>An OPTIONAL <att>required</att> + &AII; with the + following Infoset properties:</p> + <ulist> + <item> + <p>A [local name] of <att>required</att> + </p> + </item> + <item> + <p>A [namespace name] which has no value</p> + </item> + <item> + <p>A type of <emph>xs:boolean</emph></p> + </item> + </ulist> + </item> + <item> + <p>Zero or more namespace qualified &AII;s. The [namespace + name] of such &AII;s MUST NOT be <attval>&wsdl-ns;</attval> and + MUST NOT be <attval>&wsdl-http-ns;</attval>. </p> + </item> + </ulist> + </item> + <item> + <p>Zero or more &EII; amongst its [children], in order, as + follows:</p> + <olist> + <item> + <p>An OPTIONAL <el>documentation</el> + &EII; as defined in <bibref ref="WSDL-PART1"/>.</p> + </item> + <item> + <p>Zero or more namespace-qualified &EII;s amongst its + [children]. The [namespace name] of such &EII;s MUST NOT be + <attval>&wsdl-ns;</attval> and MUST NOT be + <attval>&wsdl-http-ns;</attval>.</p> + </item> + </olist> + </item> + </ulist> + </div3> + + <div3 id="http-headers-decl-mapping"> + <head>Mapping Between Component Properties and XML + Representation</head> + + <p>See <specref ref="tab_HTTP_Header_Mapping"/>.</p> + + <table border="1" id="tab_HTTP_Header_Mapping"> + <caption>Mapping between HTTP Header Block Component + Properties and XML Representation</caption> + <tbody> + <tr> + <th rowspan="1" colspan="1">Property</th> + <th rowspan="1" colspan="1">Mapping</th> + </tr> + <tr> + <td rowspan="1" colspan="1">{http headers}</td> + <td rowspan="1" colspan="1"> The set of HTTP Header + components corresponding to all the <el>header</el> + &EII; in the [children] of the <el>fault</el>, + <el>input</el> or <el>output</el> &EII;, if any. + </td> + </tr> + <tr> + <td rowspan="1" colspan="1">{element}</td> + <td rowspan="1" colspan="1">The element declaration + from the &description-element_declarations-p; resolved + to by the value of the <att>element</att> &AII;. It is + an error for the <att>element</att> &AII; to have a + value and that value does not resolve to a global + element declaration from the + &description-element_declarations-p; property of the + Description component.</td> + </tr> + <tr> + <td rowspan="1" colspan="1">{required}</td> + <td rowspan="1" colspan="1">The actual value of the <att>required</att> + &AII; if present, otherwise <attval>false</attval>.</td> + </tr> + </tbody> + </table> + </div3> + </div2> + + <!-- +++++++++ --> <div2 id="http-fault-decl"> *************** *** 3980,3983 **** --- 4239,4249 ---- <td>20050408</td> <td>HH</td> + <td><loc + href='http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76d'>LC76d</loc>: + added <att>whttp:header</att></td> + </tr> + <tr> + <td>20050408</td> + <td>HH</td> <td> Added <el>wsoap:module</el> at the Binding Fault component
Received on Friday, 8 April 2005 11:18:52 UTC