- 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