2002/ws/desc/wsdl20 build.xml,1.18,1.19 wsdl20-primer.html,1.55,1.56 wsdl20.xsd,1.24,1.25 wsdl20-instance.xsd,1.2,1.3 wsdl20-z-ie.html,1.12,1.13 wsdl20-primer.xml,1.76,1.77 wsdl20.tex,1.41,1.42 wsdl20-z.html,1.25,1.26 wsdl20-rpc.xsd,1.2,1.3 wsdl20.html,1.183,1.184 wsdl20.pdf,1.32,1.33 wsdl20-soap.xsd,1.7,1.8

Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv5942

Modified Files:
	build.xml wsdl20-primer.html wsdl20.xsd wsdl20-instance.xsd 
	wsdl20-z-ie.html wsdl20-primer.xml wsdl20.tex wsdl20-z.html 
	wsdl20-rpc.xsd wsdl20.html wsdl20.pdf wsdl20-soap.xsd 
Log Message:
Updated WSDL namespace to 2005/05 in preparation for refreshed publication.
Updated WSDL schemas to avoid use of entities and to support LC117 which requires restrictions based on ServiceType and the use of EndpointType.

Index: build.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/build.xml,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** build.xml	17 Apr 2005 15:25:01 -0000	1.18
--- build.xml	1 May 2005 15:07:49 -0000	1.19
***************
*** 27,30 ****
--- 27,33 ----
  	ChangeLog:
  	
+ 	2005-05-01: Arthur Ryman <ryman@ca.ibm.com>
+ 	- added target to update WSDL namespaces
+ 	
  	2005-03-20: Arthur Ryman <ryman@ca.ibm.com>
  	- rename wsdl20-i.html to wsdl20-z.html
***************
*** 155,158 ****
--- 158,166 ----
  
  	</target>
+ 	
+ 	<target name="update-wsdl-ns" description="Updates the WSDL namespaces.">
+ 		<replace dir="." includes="wsdl20-primer.xml" token="http://www.w3.org/2004/08/wsdl" value="http://www.w3.org/2005/05/wsdl" />
+ 		<replace dir="." includes="*.xsd" token="http://www.w3.org/2004/08/wsdl" value="http://www.w3.org/2005/05/wsdl" />
+ 	</target>
  
  </project>
\ No newline at end of file



Index: wsdl20-instance.xsd
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-instance.xsd,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** wsdl20-instance.xsd	26 Mar 2004 12:51:26 -0000	1.2
--- wsdl20-instance.xsd	1 May 2005 15:07:49 -0000	1.3
***************
*** 17,32 ****
  -->
  
- <!DOCTYPE xs:schema PUBLIC '-//W3C//DTD XMLSCHEMA 200102//EN'
-                            'http://www.w3.org/2001/XMLSchema.dtd' [
- 
- <!ENTITY % entities SYSTEM 'entities.dtd' >
- 
- %entities;
- ]>
- 
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
!            targetNamespace='&wsdl-i-ns;'
! 	   xmlns:wsdli="&wsdl-i-ns;"
!            elementFormDefault='qualified' >
  
    <xs:attribute name="wsdlLocation">
--- 17,24 ----
  -->
  
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
! 	targetNamespace='http://www.w3.org/2005/05/wsdl-instance'
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"
! 	elementFormDefault='qualified'>
  
    <xs:attribute name="wsdlLocation">

Index: wsdl20-rpc.xsd
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-rpc.xsd,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** wsdl20-rpc.xsd	26 Mar 2004 12:51:26 -0000	1.2
--- wsdl20-rpc.xsd	1 May 2005 15:07:49 -0000	1.3
***************
*** 17,58 ****
  -->
  
- <!DOCTYPE xs:schema PUBLIC '-//W3C//DTD XMLSCHEMA 200102//EN'
-                            'http://www.w3.org/2001/XMLSchema.dtd' [
- 
- <!ENTITY % entities SYSTEM 'entities.dtd' >
- 
- %entities;
- ]>
- 
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
!            targetNamespace='&wsdl-rpc-ns;'
! 	   xmlns:wrpc="&wsdl-rpc-ns;"
!            elementFormDefault='qualified' >
  
!   <xs:attribute name="signature" type="wrpc:signatureType">
!     <xs:annotation>
!       <xs:documentation>
!       This attribute can be used as an extension to describe the RPC signature
!       associated with an operation that uses the RPC style.
!       </xs:documentation>
!     </xs:annotation>
!   </xs:attribute>
  
!   <xs:simpleType name="signatureType">
!     <xs:list itemType="wrpc:signatureItemType"/>
!   </xs:simpleType>
  
!   <xs:simpleType name="signatureItemType">
!     <xs:union memberTypes="wrpc:directionToken xsd:QName"/>
!   </xs:simpleType>
  
-   <xs:simpleType name="directionToken">
-     <xs:restriction base="xs:token">
-       <xs:enumeration value="#in"/>
-       <xs:enumeration value="#out"/>
-       <xs:enumeration value="#inout"/>
-       <xs:enumeration value="#return"/>
-     </xs:restriction>
-   </xs:simpleType>
-   
  </xs:schema>
--- 17,51 ----
  -->
  
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
! 	targetNamespace="http://www.w3.org/2005/05/wsdl/rpc"
! 	xmlns:wrpc="http://www.w3.org/2005/05/wsdl/rpc"
! 	elementFormDefault='qualified'>
  
! 	<xs:attribute name="signature" type="wrpc:signatureType">
! 		<xs:annotation>
! 			<xs:documentation>
! 				This attribute can be used as an extension to describe
! 				the RPC signature associated with an operation that uses
! 				the RPC style.
! 			</xs:documentation>
! 		</xs:annotation>
! 	</xs:attribute>
  
! 	<xs:simpleType name="signatureType">
! 		<xs:list itemType="wrpc:signatureItemType" />
! 	</xs:simpleType>
  
! 	<xs:simpleType name="signatureItemType">
! 		<xs:union memberTypes="wrpc:directionToken xs:QName" />
! 	</xs:simpleType>
! 
! 	<xs:simpleType name="directionToken">
! 		<xs:restriction base="xs:token">
! 			<xs:enumeration value="#in" />
! 			<xs:enumeration value="#out" />
! 			<xs:enumeration value="#inout" />
! 			<xs:enumeration value="#return" />
! 		</xs:restriction>
! 	</xs:simpleType>
  
  </xs:schema>

Index: wsdl20-soap.xsd
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-soap.xsd,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** wsdl20-soap.xsd	22 Apr 2005 21:51:48 -0000	1.7
--- wsdl20-soap.xsd	1 May 2005 15:07:50 -0000	1.8
***************
*** 15,73 ****
     [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  -->
- <!DOCTYPE xs:schema PUBLIC '-//W3C//DTD XMLSCHEMA 200102//EN'
-                            'http://www.w3.org/2001/XMLSchema.dtd' [
- 	<!ENTITY % entities SYSTEM 'entities.dtd'>
- 	%entities;
- ]>
  
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
! 	   targetNamespace="&wsdl-soap-ns;" 
! 	   xmlns:tns="&wsdl-soap-ns;" 
! 	   xmlns:wsdl="&wsdl-ns;" 
!            elementFormDefault="qualified" 
!            attributeFormDefault="unqualified" >
  
!   <xs:import namespace="&wsdl-ns;" location="&wsdl-ns;"/>
!   
!   <xs:attribute name="version" type="xs:string"/>
!   <xs:attribute name="protocol" type="xs:anyURI" />
  
!   <xs:attribute name="mepDefault" type="xs:anyURI" />
!   <xs:attribute name="mep" type="xs:anyURI" />
  
!   <xs:attribute name="action" type="xs:anyURI" />
  
!   <xs:element name="module">
!     <xs:complexType>
!       <xs:complexContent>
! 	<xs:extension base='wsdl:ExtensibleDocumentedType' >
! 	  <xs:sequence>
! 	    <xs:element ref="wsdl:property"
! 			minOccurs="0" maxOccurs='unbounded'/>
! 	  </xs:sequence>
! 	  <xs:attribute name="uri" type="xs:anyURI" use="required" />
! 	  <xs:attribute name="required"	type="xs:boolean" />
! 	</xs:extension>
!       </xs:complexContent>
!     </xs:complexType>
!   </xs:element>
  
!   <xs:element name="header">
!     <xs:complexType>
!       <xs:complexContent>
! 	<xs:extension base='wsdl:ExtensibleDocumentedType' >
! 	  <xs:attribute name="element" type="xs:QName" use="required" />
! 	  <xs:attribute name="mustUnderstnad" type="xs:boolean" />
! 	</xs:extension>
!       </xs:complexContent>
!     </xs:complexType>
!   </xs:element>
  
!   <xs:attribute name="code" type="xs:QName" />
!   <xs:attribute name="subcodes" >
!     <xs:simpleType>
!       <xs:list itemType="xs:QName" />
!     </xs:simpleType>
!   </xs:attribute>
  
  </xs:schema>
--- 15,71 ----
     [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
  -->
  
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
! 	targetNamespace="http://www.w3.org/2005/05/wsdl/soap"
! 	xmlns:tns="http://www.w3.org/2005/05/wsdl/soap"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	elementFormDefault="qualified" attributeFormDefault="unqualified">
  
! 	<xs:import namespace="http://www.w3.org/2005/05/wsdl"
! 		schemaLocation="wsdl20.xsd" />
  
! 	<xs:attribute name="version" type="xs:string" />
! 	<xs:attribute name="protocol" type="xs:anyURI" />
  
! 	<xs:attribute name="mepDefault" type="xs:anyURI" />
! 	<xs:attribute name="mep" type="xs:anyURI" />
  
! 	<xs:attribute name="action" type="xs:anyURI" />
  
! 	<xs:element name="module">
! 		<xs:complexType>
! 			<xs:complexContent>
! 				<xs:extension base='wsdl:ExtensibleDocumentedType'>
! 					<xs:sequence>
! 						<xs:element ref="wsdl:property" minOccurs="0"
! 							maxOccurs='unbounded' />
! 					</xs:sequence>
! 					<xs:attribute name="uri" type="xs:anyURI"
! 						use="required" />
! 					<xs:attribute name="required" type="xs:boolean" />
! 				</xs:extension>
! 			</xs:complexContent>
! 		</xs:complexType>
! 	</xs:element>
  
! 	<xs:element name="header">
! 		<xs:complexType>
! 			<xs:complexContent>
! 				<xs:extension base='wsdl:ExtensibleDocumentedType'>
! 					<xs:attribute name="element" type="xs:QName"
! 						use="required" />
! 					<xs:attribute name="mustUnderstnad"
! 						type="xs:boolean" />
! 				</xs:extension>
! 			</xs:complexContent>
! 		</xs:complexType>
! 	</xs:element>
! 
! 	<xs:attribute name="code" type="xs:QName" />
! 	<xs:attribute name="subcodes">
! 		<xs:simpleType>
! 			<xs:list itemType="xs:QName" />
! 		</xs:simpleType>
! 	</xs:attribute>
  
  </xs:schema>


Index: wsdl20.xsd
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xsd,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** wsdl20.xsd	30 Apr 2005 14:43:53 -0000	1.24
--- wsdl20.xsd	1 May 2005 15:07:49 -0000	1.25
***************
*** 17,34 ****
  -->
  
- <!DOCTYPE xs:schema PUBLIC '-//W3C//DTD XMLSCHEMA 200102//EN'
-                            'http://www.w3.org/2001/XMLSchema.dtd' [
- 
- <!ENTITY % entities SYSTEM 'entities.dtd' >
- 
- %entities;
- ]>
- 
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
!            targetNamespace='&wsdl-ns;'
!            xmlns:wsdl='&wsdl-ns;'
!            elementFormDefault='qualified' >
! 
  
    <xs:complexType name='DocumentationType' mixed='true' >
      <xs:sequence>
--- 17,26 ----
  -->
  
  <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'
! 	targetNamespace='http://www.w3.org/2005/05/wsdl'
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	elementFormDefault='qualified'>
  
+   <xs:element name='documentation' type='wsdl:DocumentationType' />
    <xs:complexType name='DocumentationType' mixed='true' >
      <xs:sequence>
***************
*** 44,48 ****
      </xs:annotation>
      <xs:sequence>
!       <xs:element name='documentation' type='wsdl:DocumentationType' minOccurs='0' />
      </xs:sequence>
    </xs:complexType>
--- 36,40 ----
      </xs:annotation>
      <xs:sequence>
!       <xs:element ref='wsdl:documentation' minOccurs='0' />
      </xs:sequence>
    </xs:complexType>
***************
*** 62,66 ****
    </xs:complexType>
  
!   <!-- definitions element decl and type def -->
    <xs:element name='description' type='wsdl:DescriptionType' >
      <xs:unique name='interface' >
--- 54,58 ----
    </xs:complexType>
  
!   <!-- description element decl and type def -->
    <xs:element name='description' type='wsdl:DescriptionType' >
      <xs:unique name='interface' >
***************
*** 359,363 ****
        <xs:extension base='wsdl:ExtensibleDocumentedType' >
          <xs:choice minOccurs='1' maxOccurs='unbounded' >
!           <xs:element name='endpoint' type='wsdl:EndpointType' />
            <xs:element name='feature' type='wsdl:FeatureType' />
            <xs:element name='property' type='wsdl:PropertyType' />
--- 351,355 ----
        <xs:extension base='wsdl:ExtensibleDocumentedType' >
          <xs:choice minOccurs='1' maxOccurs='unbounded' >
!           <xs:element ref='wsdl:endpoint' />
            <xs:element name='feature' type='wsdl:FeatureType' />
            <xs:element name='property' type='wsdl:PropertyType' />
***************
*** 369,373 ****
      </xs:complexContent>
    </xs:complexType>
! 
    <xs:complexType name='EndpointType' >
      <xs:complexContent>
--- 361,366 ----
      </xs:complexContent>
    </xs:complexType>
!   
!   <xs:element name='endpoint' type='wsdl:EndpointType' />
    <xs:complexType name='EndpointType' >
      <xs:complexContent>

Index: wsdl20.pdf
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.pdf,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** wsdl20.pdf	1 May 2005 12:20:06 -0000	1.32
--- wsdl20.pdf	1 May 2005 15:07:49 -0000	1.33
***************
*** 898,911 ****
  endobj
  605 0 obj <<
! /Length 992       
  /Filter /FlateDecode
  >>
  stream
! xڝVKo6W@% DRϜEu큱[-93C"Y-X|<H{1qK2^2j7񞽘e&ِ,2aysД9)b܌nvܻj'&޷	wD9<O'&iYZ&޲A 1ia^+u¿Bt6V`Ѭ}
! 4w -
#_-F[k 2ÒYo֗Aę?k94>5|4A&S/-uUS!b,2"'X_XIDґ'/Q^؆d?t
! 4ٍKJC2Y^XƦ	6ĿūHX瀓2]VlwھGO)ߩ^wd)~ﱛQt8A֬#":tQ-yROk?N?%\ $z
! ]B\RdF20M5[pFa6	
2?`W*?S^;v=L-
Cƃ\A+-[jKNժ	oyH\ԙj!|6=
`⸣C~a|=rHXGW
lJ;wmԨrgvO<ji
[...7144 lines suppressed...]
! 0000848546 00000 n 
  trailer
  <<
***************
*** 20232,20238 ****
  /Root 2885 0 R
  /Info 2886 0 R
! /ID [<BCCC89DBFADB2F942A9A230133C30C42> <BCCC89DBFADB2F942A9A230133C30C42>]
  >>
  startxref
! 848955
  %%EOF
--- 20244,20250 ----
  /Root 2885 0 R
  /Info 2886 0 R
! /ID [<58D37D0C75D9E5B38C2AE50BB9E835CA> <58D37D0C75D9E5B38C2AE50BB9E835CA>]
  >>
  startxref
! 848794
  %%EOF

Index: wsdl20-primer.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-primer.xml,v
retrieving revision 1.76
retrieving revision 1.77
diff -C2 -d -r1.76 -r1.77
*** wsdl20-primer.xml	1 May 2005 12:20:08 -0000	1.76
--- wsdl20-primer.xml	1 May 2005 15:07:49 -0000	1.77
***************
*** 129,137 ****
  <?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  
--- 129,137 ----
  <?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  
***************
*** 172,176 ****
      <operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out" 
!             style="http://www.w3.org/2004/08/wsdl/style/uri"
              safe = "true">
          <input messageLabel="In" 
--- 172,176 ----
      <operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out" 
!             style="http://www.w3.org/2005/05/wsdl/style/uri"
              safe = "true">
          <input messageLabel="In" 
***************
*** 185,189 ****
    <binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2004/08/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
   
--- 185,189 ----
    <binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2005/05/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
   
***************
*** 213,217 ****
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 213,217 ----
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 220,229 ****
    . . .
  </description>]]></eg>
! 				</example><div3 id="example-empty-shell-explanation"><head>Explanation of Example</head><p><glist><gitem><label><code>&lt;description</code></label><def><p>Every WSDL 2.0 document has a <code>description</code> element as its top-most element.  This merely acts as a container for the rest of the WSDL 2.0 document, and is used to declare namespaces that will be used throughout the document.</p></def></gitem><gitem><label><code>xmlns="http://www.w3.org/2004/08/wsdl"</code></label><def><p>This is the  XML namespace for WSDL 2.0 itself.  Because we have not defined a prefix for it, any unprefixed elements or attributes are expected to be WSDL 2.0 elements or attributes (such as the <code>description</code> element).</p></def></gitem><gitem><label><code>targetNamespace= "http://greath.example.com/2004/wsdl/resSvc"</code></label><def><p>This defines the WSDL target namespace that we have chosen for the GreatH reservation service, as described above.  Note that this is not an actual XML namespace declaration  Rather, it is a WSDL 2.0 attribute whose purpose is <emph>analogous</emph> to an XML Schema target namespace.</p></def></gitem><gitem><label><code>xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"</code></label><def><p>This is an actual XML namespace declaration for use in our GreatH service description.  Note that this is the same URI that was specified above as the value of  the <att>targetNamespace</att> attribute.   This will allow us later to use the  <code>tns:</code>   prefix in QNames, to refer to the WSDL target namespace of the GreatH service.  (For more on QNames see <bibref ref="XMLNS"/>   section 3 <xspecref href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames">Qualified Names</xspecref>.)</p></def></gitem></glist></p><p>  Now  we can start describing the GreatH service. </p></div3></div2><div2 id="basics-types"><head>Defining Message Types</head><p>We know that the GreatH service will be sending and receiving messages, so a good starting point in describing the service s to define the message types that the service will use.  We'll use XML Schema to do so, because WSDL 2.0 WSDL processors are likely to support XML Schema at a minimum.  However, WSDL 2.0 does not prohibit the use of some other schema definition language.</p><p>WSDL 2.0 allows message types to be defined directly within the WSDL document, inside the <code>types</code> element, which is a child of the <code>description</code> element.   (Later we'll see how we can provide the type definitions in a separate document, using XML Schema's <code>import</code> mechanism.)    The following schema defines checkAvailability, checkAvailabilityResponse and invalidDataError message types that we'll need.  </p><p>In WSDL 2.0, all normal and fault message types must be defined as single <emph>elements</emph> at the topmost level (though of course each element may have any amount of substructure inside it).  Thus, a message type must not directly consist of a sequence of elements or other complex type.  </p><example id="exmple-initial-types">
  					<head>GreatH Message Types</head>
  					<eg><![CDATA[
  <?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 220,229 ----
    . . .
  </description>]]></eg>
! 				</example><div3 id="example-empty-shell-explanation"><head>Explanation of Example</head><p><glist><gitem><label><code>&lt;description</code></label><def><p>Every WSDL 2.0 document has a <code>description</code> element as its top-most element.  This merely acts as a container for the rest of the WSDL 2.0 document, and is used to declare namespaces that will be used throughout the document.</p></def></gitem><gitem><label><code>xmlns="http://www.w3.org/2005/05/wsdl"</code></label><def><p>This is the  XML namespace for WSDL 2.0 itself.  Because we have not defined a prefix for it, any unprefixed elements or attributes are expected to be WSDL 2.0 elements or attributes (such as the <code>description</code> element).</p></def></gitem><gitem><label><code>targetNamespace= "http://greath.example.com/2004/wsdl/resSvc"</code></label><def><p>This defines the WSDL target namespace that we have chosen for the GreatH reservation service, as described above.  Note that this is not an actual XML namespace declaration  Rather, it is a WSDL 2.0 attribute whose purpose is <emph>analogous</emph> to an XML Schema target namespace.</p></def></gitem><gitem><label><code>xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"</code></label><def><p>This is an actual XML namespace declaration for use in our GreatH service description.  Note that this is the same URI that was specified above as the value of  the <att>targetNamespace</att> attribute.   This will allow us later to use the  <code>tns:</code>   prefix in QNames, to refer to the WSDL target namespace of the GreatH service.  (For more on QNames see <bibref ref="XMLNS"/>   section 3 <xspecref href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames">Qualified Names</xspecref>.)</p></def></gitem></glist></p><p>  Now  we can start describing the GreatH service. </p></div3></div2><div2 id="basics-types"><head>Defining Message Types</head><p>We know that the GreatH service will be sending and receiving messages, so a good starting point in describing the service s to define the message types that the service will use.  We'll use XML Schema to do so, because WSDL 2.0 WSDL processors are likely to support XML Schema at a minimum.  However, WSDL 2.0 does not prohibit the use of some other schema definition language.</p><p>WSDL 2.0 allows message types to be defined directly within the WSDL document, inside the <code>types</code> element, which is a child of the <code>description</code> element.   (Later we'll see how we can provide the type definitions in a separate document, using XML Schema's <code>import</code> mechanism.)    The following schema defines checkAvailability, checkAvailabilityResponse and invalidDataError message types that we'll need.  </p><p>In WSDL 2.0, all normal and fault message types must be defined as single <emph>elements</emph> at the topmost level (though of course each element may have any amount of substructure inside it).  Thus, a message type must not directly consist of a sequence of elements or other complex type.  </p><example id="exmple-initial-types">
  					<head>GreatH Message Types</head>
  					<eg><![CDATA[
  <?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 265,269 ****
  				<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 265,269 ----
  				<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 283,287 ****
      <operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out"
!             style="http://www.w3.org/2004/08/wsdl/style/uri"
              safe = "true">
          <input messageLabel="In" 
--- 283,287 ----
      <operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out"
!             style="http://www.w3.org/2005/05/wsdl/style/uri"
              safe = "true">
          <input messageLabel="In" 
***************
*** 300,304 ****
              <gitem><label><code>pattern="http://www.w3.org/2004/03/wsdl/in-out" </code></label><def><p>This line specifies that this operation will use the <xspecref href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#in-out">in-out</xspecref> pattern as described above.  WSDL 2.0 uses URIs to identify message exchange patterns in order to ensure that the identifiers are globally unambiguous, while also permitting future new patterns to be defined by anyone.  (However, just because someone defines a new pattern and creates a URI to identify it, that does <emph>not</emph> mean that other WSDL processors will automatically recognize or understand that pattern.  As with any other extension, it can be used among processors that <i>do</i> recognize and understand it.)</p></def></gitem>
  	
! 	<gitem><label><code>style="http://www.w3.org/2004/08/wsdl/style/uri" </code></label><def><p>
  	This line indicates that the XML schema defining the input message of this operation follows a set of rules as specified in <xspecref href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#_operation_uri_style">URI Style</xspecref> that ensures the message can be serialized as an URI. 
  	</p></def></gitem>
--- 300,304 ----
              <gitem><label><code>pattern="http://www.w3.org/2004/03/wsdl/in-out" </code></label><def><p>This line specifies that this operation will use the <xspecref href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#in-out">in-out</xspecref> pattern as described above.  WSDL 2.0 uses URIs to identify message exchange patterns in order to ensure that the identifiers are globally unambiguous, while also permitting future new patterns to be defined by anyone.  (However, just because someone defines a new pattern and creates a URI to identify it, that does <emph>not</emph> mean that other WSDL processors will automatically recognize or understand that pattern.  As with any other extension, it can be used among processors that <i>do</i> recognize and understand it.)</p></def></gitem>
  	
! 	<gitem><label><code>style="http://www.w3.org/2005/05/wsdl/style/uri" </code></label><def><p>
  	This line indicates that the XML schema defining the input message of this operation follows a set of rules as specified in <xspecref href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#_operation_uri_style">URI Style</xspecref> that ensures the message can be serialized as an URI. 
  	</p></def></gitem>
***************
*** 363,371 ****
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    . . .
--- 363,371 ----
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    . . .
***************
*** 381,385 ****
    <binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2004/08/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
--- 381,385 ----
    <binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2005/05/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
***************
*** 394,398 ****
    . . .
  </description>]]></eg>
! 				</example><div3 id="example-initial-binding-explanation"><head>Explanation of Example</head><glist><gitem><label><code>xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"</code></label><def><p>We've added two more namespace declarations.  This one is the namespace for the SOAP 1.2 binding extension that is defined in WSDL 2.0 Part 3 <bibref ref="SOAP12-PART1"/>.   Elements and attributes prefixed with  <code>wsoap:</code>  are constructs defined there.  </p></def></gitem><gitem><label><code>xmlns:soap="http://www.w3.org/2003/05/soap-envelope"</code></label><def><p>This namespace is defined by the SOAP 1.2 specification itself.  The SOAP 1.2 specification defines certain terms within this namespace to unambiguously identify particular concepts.  Thus, we will use the <code>soap:</code> prefix when we need to refer to one of those terms.</p></def></gitem><gitem><label><code>&lt;binding name="reservationSOAPBinding"</code></label><def><p>Bindings are declared directly inside the <code>description</code>element.  The <att>name</att> attribute defines a name for this binding.  Each name must be unique among all  bindings in this WSDL target namespace, and will be used later when we define a service endpoint that references this binding.  WSDL 2.0 uses separate symbol spaces for interfaces, bindings and services, so interface "foo", binding "foo" and service "foo" are all distinct. </p></def></gitem><gitem><label><code>interface="tns:reservationInterface"</code></label><def><p>This is the name of the interface whose message format and transmission protocols we are specifying.  As discussed in <specref ref="more-bindings"/>, a reusable binding can be defined by omitting the <att>interface</att> attribute.  Note also the use of the <code>tns:</code> prefix, which refers to the previously defined WSDL target namespace for this WSDL document.  In this case it may seem silly to have to specify the <code>tns:</code> prefix, but in <specref ref="adv-import-and-authoring"/>  we will see how WSDL 2.0's import mechanim can be used to combine components that are defined in different WSDL target namespaces.</p></def></gitem><gitem><label><code>type="http://www.w3.org/2004/08/wsdl/soap12"</code></label><def><p>This specifies what kind of concrete message format to use, in this case SOAP 1.2.</p></def></gitem><gitem><label><code>wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"</code></label><def><p>This attribute is specific to WSDL 2.0's SOAP binding extension (thus it uses the <code>wsoap:</code> prefix). It specifies the underlying transmission protocol that should be used, in this case HTTP.  </p></def></gitem><gitem><label><code>&lt;operation ref="tns:opCheckAvailability"</code></label><def>
  	<p>
  		This not defining a new operation; rather, it is referencing the
--- 394,398 ----
    . . .
  </description>]]></eg>
! 				</example><div3 id="example-initial-binding-explanation"><head>Explanation of Example</head><glist><gitem><label><code>xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"</code></label><def><p>We've added two more namespace declarations.  This one is the namespace for the SOAP 1.2 binding extension that is defined in WSDL 2.0 Part 3 <bibref ref="SOAP12-PART1"/>.   Elements and attributes prefixed with  <code>wsoap:</code>  are constructs defined there.  </p></def></gitem><gitem><label><code>xmlns:soap="http://www.w3.org/2003/05/soap-envelope"</code></label><def><p>This namespace is defined by the SOAP 1.2 specification itself.  The SOAP 1.2 specification defines certain terms within this namespace to unambiguously identify particular concepts.  Thus, we will use the <code>soap:</code> prefix when we need to refer to one of those terms.</p></def></gitem><gitem><label><code>&lt;binding name="reservationSOAPBinding"</code></label><def><p>Bindings are declared directly inside the <code>description</code>element.  The <att>name</att> attribute defines a name for this binding.  Each name must be unique among all  bindings in this WSDL target namespace, and will be used later when we define a service endpoint that references this binding.  WSDL 2.0 uses separate symbol spaces for interfaces, bindings and services, so interface "foo", binding "foo" and service "foo" are all distinct. </p></def></gitem><gitem><label><code>interface="tns:reservationInterface"</code></label><def><p>This is the name of the interface whose message format and transmission protocols we are specifying.  As discussed in <specref ref="more-bindings"/>, a reusable binding can be defined by omitting the <att>interface</att> attribute.  Note also the use of the <code>tns:</code> prefix, which refers to the previously defined WSDL target namespace for this WSDL document.  In this case it may seem silly to have to specify the <code>tns:</code> prefix, but in <specref ref="adv-import-and-authoring"/>  we will see how WSDL 2.0's import mechanim can be used to combine components that are defined in different WSDL target namespaces.</p></def></gitem><gitem><label><code>type="http://www.w3.org/2005/05/wsdl/soap12"</code></label><def><p>This specifies what kind of concrete message format to use, in this case SOAP 1.2.</p></def></gitem><gitem><label><code>wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"</code></label><def><p>This attribute is specific to WSDL 2.0's SOAP binding extension (thus it uses the <code>wsoap:</code> prefix). It specifies the underlying transmission protocol that should be used, in this case HTTP.  </p></def></gitem><gitem><label><code>&lt;operation ref="tns:opCheckAvailability"</code></label><def>
  	<p>
  		This not defining a new operation; rather, it is referencing the
***************
*** 414,422 ****
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    . . .
--- 414,422 ----
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    . . .
***************
*** 491,495 ****
  <head>WSDL 2.0 Schema and Element Ordering</head>
  
! <p>The WSDL 2.0 specification supplies a <xspecref href="http://www.w3.org/2004/08/wsdl">normative WSDL 2.0 schema</xspecref>, defined in XML Schema <bibref ref="XMLSchemaP1"/> <bibref ref="XMLSchemaP2"/>, which can be used as an aid in validating WSDL 2.0 documents.  
  <ednote>
  					<name>KevinL</name>
--- 491,495 ----
  <head>WSDL 2.0 Schema and Element Ordering</head>
  
! <p>The WSDL 2.0 specification supplies a <xspecref href="http://www.w3.org/2005/05/wsdl">normative WSDL 2.0 schema</xspecref>, defined in XML Schema <bibref ref="XMLSchemaP1"/> <bibref ref="XMLSchemaP2"/>, which can be used as an aid in validating WSDL 2.0 documents.  
  <ednote>
  					<name>KevinL</name>
***************
*** 649,653 ****
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
! xmlns="http://www.w3.org/2004/08/wsdl"
  targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
  xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 649,653 ----
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
  <description 
! xmlns="http://www.w3.org/2005/05/wsdl"
  targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
  xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 752,756 ****
  		&lt;operation name="opCheckAvailability" 
  				pattern="http://www.w3.org/2004/03/wsdl/in-out"
! 				style="http://www.w3.org/2004/08/wsdl/style/uri"
  				safe = "true"&gt;
  			&lt;input messageLabel="In" 
--- 752,756 ----
  		&lt;operation name="opCheckAvailability" 
  				pattern="http://www.w3.org/2004/03/wsdl/in-out"
! 				style="http://www.w3.org/2005/05/wsdl/style/uri"
  				safe = "true"&gt;
  			&lt;input messageLabel="In" 
***************
*** 1018,1022 ****
  					<eg xml:space="preserve">
  <![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
! <description xmlns="http://www.w3.org/2004/08/wsdl"
        . . .
        type="http://www.w3.org/@@@@/@@/wsdl/http"
--- 1018,1022 ----
  					<eg xml:space="preserve">
  <![CDATA[<?xml version="1.0" encoding="utf-8" ?> 
! <description xmlns="http://www.w3.org/2005/05/wsdl"
        . . .
        type="http://www.w3.org/@@@@/@@/wsdl/http"
***************
*** 1127,1131 ****
  <binding name="reservationSecureSOAPBinding"
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2004/08/wsdl/soap12"
      wsoap:protocol="http://bindings.example.com/SOAPBindings/secureHTTP">
    . ..
--- 1127,1131 ----
  <binding name="reservationSecureSOAPBinding"
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2005/05/wsdl/soap12"
      wsoap:protocol="http://bindings.example.com/SOAPBindings/secureHTTP">
    . ..
***************
*** 1205,1209 ****
  					<head>Standard Credit Card Validation Faults (credit-card-faults.wsdl)</head>
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://finance.example.com/CreditCards/wsdl"
  	xmlns:tns="http://finance.example.com/CreditCards/wsdl"
--- 1205,1209 ----
  					<head>Standard Credit Card Validation Faults (credit-card-faults.wsdl)</head>
  					<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://finance.example.com/CreditCards/wsdl"
  	xmlns:tns="http://finance.example.com/CreditCards/wsdl"
***************
*** 1260,1264 ****
  	xmlns:ghns="http://greath.example.com/2004/schemas/resSvc"
  	xmlns:cc="http://finance.example.com/CreditCards/wsdl"
! 	xmlns="http://www.w3.org/2004/08/wsdl"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
--- 1260,1264 ----
  	xmlns:ghns="http://greath.example.com/2004/schemas/resSvc"
  	xmlns:cc="http://finance.example.com/CreditCards/wsdl"
! 	xmlns="http://www.w3.org/2005/05/wsdl"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
***************
*** 1374,1385 ****
  is communicated using a new message namespace. This approach has 
  particular benefits where an agent may quickly tell if a service has 
! changed by simply comparing the namespace value.</p></div3><div3 id="adv-versioning-combined"><head>Combined Approaches</head><p>It is feasible to combine the "compatible evolution" and "big bang" approaches in a variety of different 
! ways.  For example, the namespace could be changed when message 
! descriptions are changed, but the namespace could stay the same when new 
! operations are added.</p><p>While the big bang approach is currently the easiest to implement in  WSDL 2.0, it can lead to a large number of cloned 
! interfaces that become difficult to manage, thus making the compatible 
! approach preferable to many for widely distributed systems.  In the 
! end, the choice of a versioning strategy for Web services described in 
! WSDL 2.0 is left as an exercise to the reader.</p></div3></div2>
  			
  			
--- 1374,1400 ----
  is communicated using a new message namespace. This approach has 
  particular benefits where an agent may quickly tell if a service has 
! changed by simply comparing the namespace value.</p></div3>
! 
! 	<div3 id="adv-versioning-combined">
! 		<head>Combined Approaches</head>
! 		<p>
! 			It is feasible to combine the "compatible evolution" and
! 			"big bang" approaches in a variety of different ways. For
! 			example, the namespace could be changed when message
! 			descriptions are changed, but the namespace could stay the
! 			same when new operations are added.
! 		</p>
! 		<p>
! 			While the big bang approach is currently the easiest to
! 			implement in WSDL 2.0, it can lead to a large number of
! 			cloned interfaces that become difficult to manage, thus
! 			making the compatible approach preferable to many for widely
! 			distributed systems. In the end, the choice of a versioning
! 			strategy for Web services described in WSDL 2.0 is left as
! 			an exercise to the reader.
! 		</p>
! 	</div3>
! 	
! </div2>
  			
  			
***************
*** 1460,1464 ****
  <binding name="reservationSOAPBinding" 
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2004/08/wsdl/soap12"
      wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
--- 1475,1479 ----
  <binding name="reservationSOAPBinding" 
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2005/05/wsdl/soap12"
      wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
***************
*** 1480,1487 ****
   
  
! <p>The HTTP Message Transmission Optimization (MTOM) feature is engaged using the <code>feature</code> element.  Note that the attribute required=”true” on the feature declaration indicates that the message must be encoded using the HTTP Optimization feature.  If the attribute were required=”false” (or this attribute were absent), it would indicate that the use of MTOM is optional for this service: the service accepts either MTOM-encoded messages, or the embedded base64Binary data directly in the Body, and the client is free to send either form of message. </p>
   
  
! <p>The example above shows MTOM enabled for a specific message within an operation.  Placing the feature declaration as a child of <code>operation</code> would require (or enable if required=”false”) MTOM support for all the messages in that operation.  Placing the feature declaration as a child of <code>binding</code> would require (or enable if required=”false”) MTOM support for all the operations in that interface.
  </p>
   
--- 1495,1502 ----
   
  
! <p>The HTTP Message Transmission Optimization (MTOM) feature is engaged using the <code>feature</code> element.  Note that the attribute required=�?true�? on the feature declaration indicates that the message must be encoded using the HTTP Optimization feature.  If the attribute were required=�?false�? (or this attribute were absent), it would indicate that the use of MTOM is optional for this service: the service accepts either MTOM-encoded messages, or the embedded base64Binary data directly in the Body, and the client is free to send either form of message. </p>
   
  
! <p>The example above shows MTOM enabled for a specific message within an operation.  Placing the feature declaration as a child of <code>operation</code> would require (or enable if required=�?false�?) MTOM support for all the messages in that operation.  Placing the feature declaration as a child of <code>binding</code> would require (or enable if required=�?false�?) MTOM support for all the operations in that interface.
  </p>
   
***************
*** 1667,1675 ****
  <head>The Reservation Details Web Service Description: reservationDetails.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:tns="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsoap="http://www.w3.org/2004/08/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
--- 1682,1690 ----
  <head>The Reservation Details Web Service Description: reservationDetails.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:tns="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsoap="http://www.w3.org/2005/05/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
***************
*** 1711,1715 ****
  	<binding name="reservationDetailsSOAPBinding"
  		interface="tns:reservationDetailsInterface"
! 		type="http://www.w3.org/2004/08/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
--- 1726,1730 ----
  	<binding name="reservationDetailsSOAPBinding"
  		interface="tns:reservationDetailsInterface"
! 		type="http://www.w3.org/2005/05/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
***************
*** 1740,1749 ****
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance">
  
! 	<import namespace="http://www.w3.org/2004/08/wsdl" />
  
! 	<import namespace="http://www.w3.org/2004/08/wsdl-instance" />
  
  	<element name="confirmationNumber" type="string" />
--- 1755,1764 ----
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance">
  
! 	<import namespace="http://www.w3.org/2005/05/wsdl" />
  
! 	<import namespace="http://www.w3.org/2005/05/wsdl-instance" />
  
  	<element name="confirmationNumber" type="string" />
***************
*** 1922,1927 ****
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl">
  
--- 1937,1942 ----
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl">
  
***************
*** 1996,2005 ****
  						<eg>
  <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationList"
  	xmlns:tns="http://greath.example.com/2004/services/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:list="http://greath.example.com/2004/schemas/reservationList"
! 	xmlns:wsoap="http://www.w3.org/2004/08/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
--- 2011,2020 ----
  						<eg>
  <![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationList"
  	xmlns:tns="http://greath.example.com/2004/services/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:list="http://greath.example.com/2004/schemas/reservationList"
! 	xmlns:wsoap="http://www.w3.org/2005/05/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema">
  
***************
*** 2050,2054 ****
  	<binding name="reservationListSOAPBinding"
  		interface="tns:reservationListInterface"
! 		type="http://www.w3.org/2004/08/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
--- 2065,2069 ----
  	<binding name="reservationListSOAPBinding"
  		interface="tns:reservationListInterface"
! 		type="http://www.w3.org/2005/05/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP">
  
***************
*** 2091,2097 ****
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance">
  
! 	<import namespace="http://www.w3.org/2004/08/wsdl-instance" />
  
  	<import
--- 2106,2112 ----
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance">
  
! 	<import namespace="http://www.w3.org/2005/05/wsdl-instance" />
  
  	<import
***************
*** 2181,2186 ****
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl">
  
--- 2196,2201 ----
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl">
  
***************
*** 2207,2211 ****
  							<![CDATA[. . .
  <binding name="reservationDetailsHTTPBinding"
!          type="http://www.w3.org/2004/08/wsdl/http"
           interface="tns:reservationDetailsInterface" >
  
--- 2222,2226 ----
  							<![CDATA[. . .
  <binding name="reservationDetailsHTTPBinding"
!          type="http://www.w3.org/2005/05/wsdl/http"
           interface="tns:reservationDetailsInterface" >
  
***************
*** 2229,2233 ****
  							<![CDATA[. . .
  <binding name="reservationListHTTPBinding"
!     type="http://www.w3.org/2004/08/wsdl/http"
      interface="tns:reservationListInterface"
      whttp:methodDefault="GET">
--- 2244,2248 ----
  							<![CDATA[. . .
  <binding name="reservationListHTTPBinding"
!     type="http://www.w3.org/2005/05/wsdl/http"
      interface="tns:reservationListInterface"
      whttp:methodDefault="GET">
***************
*** 2297,2301 ****
  
  <binding name="reservationListQueryHTTPBinding"
!     type="http://www.w3.org/2004/08/wsdl/http"
      interface="tns:reservationListInterfaceWithQuery"
      whttp:methodDefault="GET">
--- 2312,2316 ----
  
  <binding name="reservationListQueryHTTPBinding"
!     type="http://www.w3.org/2005/05/wsdl/http"
      interface="tns:reservationListInterfaceWithQuery"
      whttp:methodDefault="GET">
***************
*** 2395,2399 ****
  						<eg>
  							<![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2410,2414 ----
  						<eg>
  							<![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
***************
*** 2518,2522 ****
  <head>The Update Reservation Details Web Service: updateDetails.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/updateDetails"
  	xmlns:tns="http://greath.example.com/2004/services/updateetails"
--- 2533,2537 ----
  <head>The Update Reservation Details Web Service: updateDetails.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/updateDetails"
  	xmlns:tns="http://greath.example.com/2004/services/updateetails"
***************
*** 2618,2622 ****
  						</head>
  						<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2633,2637 ----
  						</head>
  						<eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
***************
*** 2709,2713 ****
  <example id="schemaIds.wsdl"><head>Using Ids in Inline Schemas: schemaIds.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2724,2728 ----
  <example id="schemaIds.wsdl"><head>Using Ids in Inline Schemas: schemaIds.wsdl</head>
  <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?>
! <description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"


Index: wsdl20-primer.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-primer.html,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -d -r1.55 -r1.56
*** wsdl20-primer.html	1 May 2005 12:20:08 -0000	1.55
--- wsdl20-primer.html	1 May 2005 15:07:49 -0000	1.56
***************
*** 95,99 ****
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#Introduction">Introduction</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br>3. <a href="#wsdl-xml-representation">WSDL 2.0 Infoset, Schema and Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br>5. <a href="#more-interfaces">More on Interfaces</a><br>6. <a href="#more-bindings">More on Bindings</a><br>7. <a href="#advanced-topic_ii">Advanced Topics</a><br>8. <a href="#References">References</a><br>A. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br></p></div><hr><div class="toc">
  <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#Introduction">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#Prerequisites">Prerequisites</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#PrimerStructure">Structure of this Primer</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#notation">Notational Conventions</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#basics-greath-scenario">Example Scenario: The GreatH Hotel Reservation Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#basics-getting-started">Getting Started: Defining a WSDL Target Namespace</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#example-empty-shell-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#basics-types">Defining Message Types</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#example-initial-types-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#basics-nterface">Defining an Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#example-initial-interface-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.5 <a href="#basics-binding">Defining a Binding</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.5.1 <a href="#example-initial-binding-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.6 <a href="#basics-service">Defining a Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.6.1 <a href="#example-initial-service-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.7 <a href="#basics-documentation">Documenting the Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.7.1 <a href="#example-initial-documentation-explanation">Explanation of Example</a><br>3. <a href="#wsdl-xml-representation">WSDL 2.0 Infoset, Schema and Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3.1 <a href="#wsdl-infoset-diagram">WSDL 2.0 Infoset</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3. <a href="#wsdl-schema">WSDL 2.0 Schema and Element Ordering</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3.3 <a href="#component-model">WSDL 2.0 Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.1 <a href="#more-types-schema-embed">Embedding XML Schema</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.2 <a href="#more-types-schema-import">Importing XML Schema</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.3 <a href="#more-types-import-include-summary">Summary of Import and Include Mechanisms</a><br>5. <a href="#more-interfaces">More on Interfaces</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.1 <a href="#more-interfaces-interfaces">Interface Syntax </a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.2 <a href="#more-interfaces-inheritance">Interface Inheritance</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.3 <a href="#more-interfaces-faults">Interface Faults</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.4 <a href="#more-interfaces-operations">Interface Operations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.1 <a href="#more-interfaces-op-att">Operation Attributes</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2 <a href="#N108DB">Operation Message References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.1 <a href="#N108F8">The messageLabel Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.2 <a href="#N1090C">The element Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.3 <a href="#N10933">Multiple infault or outfault Elements</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.3 <a href="#more-interfaces-meps">Understanding Message Exchange Patterns (MEPs)</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.4 <a href="#more-interfaces-defining-meps">Defining New Message Exchange Patterns (MEPs)</a><br>6. <a href="#more-bindings">More on Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.1 <a href="#more-bindings-wsdl">Syntax Summary for Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.2 <a href="#more-bindins-reusable">Reusable Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.3 <a href="#more-bindings-faults">Binding Faults</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.4 <a href="#bindingOperations">Binding Operations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.5 <a href="#more-bindings-soap">The SOAP Binding Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.5.1 <a href="#more-bindings-soap-example-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.6 <a href="#more-bindings-http">The HTTP Binding Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.6.1 <a href="#N10AF7">Explanation of
! 			Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.7 <a href="#adv-get-vs-post">HTTP GET Versus POST: Which to Use?</a><br>7. <a href="#advanced-topic_ii">Advanced Topics</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.1 <a href="#adv-extensibility">Extensibility</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.1 <a href="#adv-optional-versus-required">Optional Versus Required Extensions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.2 <a href="#adv-scope-of-wsdl-required">Scoping of the wsdl:required Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.2 <a href="#adv-FP">Features and Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.1 <a href="#adv-FP-soap-modules">SOAP Modules</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.2 <a href="#adv-FP-abstract-features">Abstract Features</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.3 <a href="#adv-fp-properties">Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.3 <a href="#adv-import-and-authoring">Import mechanism and authoring stye</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.4 <a href="#adv-multiple-docs-describing-same-service">Multiple Interfaces for the Same Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.5 <a href="#adv-versioning">Web Service Versioning</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.1 <a href="#adv-versioning-compatible-evolution">Compatible Evolution</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.2 <a href="#adv-versioning-big-bang">Big Bang</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.3 <a href="#adv-versioning-combined">Combined Approaches</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.6 <a href="#adv-MTOM">MTOM Support</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.7 <a href="#adv-RPCstyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.8 <a href="#adv-message-dispatch">Enabling Easy Message Dispatch</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.9 <a href="#adv-service-references">Service and Endpoint References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.1 <a href="#reservationDetails">The Reservation Details Web Sevice</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.2 <a href="#reservationList">The Reservation List Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.3 <a href="#reservationDetails_HTTP">Reservation Details Web Service Using HTTP Transfer</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.4 <a href="#reservationList_HTTP_GET">Reservation List Web Service Using HTTP GET</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.10 <a href="#adv-multiple-inline-schemas">Importing Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.1 <a href="#N11040">Schemas in Imported Documents</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.2 <a href="#N110CB">Multiple Inline Schemas in One Document</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.3 <a href="#adv-schema-location">The schemaLocation Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.3.1 <a href="#N11128">Using the id Attribute to Identify Inline
  						Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.11 <a href="#adv-rdf-mapping">Mapping to RDF and Semantic Web</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.11.1 <a href="#adv-rdf-rep-wsdl">RDF Representation of WSDL 2.0</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.12 <a href="#adv-notes-on-uris">Notes on URIs</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.1 <a href="#adv-namespaces-and-schema-locations">XML Namespaces and Schema Locations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.2 <a href="#adv-relative-uris">Relative URIs</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.3 <a href="#adv-generating-uris">Generating Temporary URIs</a><br>8. <a href="#References">References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;8.1 <a href="#Normative-References">Normative References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;8.2 <a href="#Informative-References">Informative References</a><br></p>
  <h3><a id="appendix" name="appendix">Appendix</a></h3><p class="toc">A. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br></p></div><hr><div class="body">
--- 95,99 ----
  <h2><a name="shortcontents">Short Table of Contents</a></h2><p class="toc">1. <a href="#Introduction">Introduction</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br>3. <a href="#wsdl-xml-representation">WSDL 2.0 Infoset, Schema and Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br>5. <a href="#more-interfaces">More on Interfaces</a><br>6. <a href="#more-bindings">More on Bindings</a><br>7. <a href="#advanced-topic_ii">Advanced Topics</a><br>8. <a href="#References">References</a><br>A. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br></p></div><hr><div class="toc">
  <h2><a name="contents">Table of Contents</a></h2><p class="toc">1. <a href="#Introduction">Introduction</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.1 <a href="#Prerequisites">Prerequisites</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.2 <a href="#PrimerStructure">Structure of this Primer</a><br>&nbsp;&nbsp;&nbsp;&nbsp;1.3 <a href="#notation">Notational Conventions</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.1 <a href="#basics-greath-scenario">Example Scenario: The GreatH Hotel Reservation Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.2 <a href="#basics-getting-started">Getting Started: Defining a WSDL Target Namespace</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.2.1 <a href="#example-empty-shell-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.3 <a href="#basics-types">Defining Message Types</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.3.1 <a href="#example-initial-types-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.4 <a href="#basics-nterface">Defining an Interface</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.4.1 <a href="#example-initial-interface-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.5 <a href="#basics-binding">Defining a Binding</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.5.1 <a href="#example-initial-binding-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.6 <a href="#basics-service">Defining a Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.6.1 <a href="#example-initial-service-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;2.7 <a href="#basics-documentation">Documenting the Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.7.1 <a href="#example-initial-documentation-explanation">Explanation of Example</a><br>3. <a href="#wsdl-xml-representation">WSDL 2.0 Infoset, Schema and Component Model</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3.1 <a href="#wsdl-infoset-diagram">WSDL 2.0 Infoset</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3. <a href="#wsdl-schema">WSDL 2.0 Schema and Element Ordering</a><br>&nbsp;&nbsp;&nbsp;&nbsp;3.3 <a href="#component-model">WSDL 2.0 Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.1 <a href="#more-types-schema-embed">Embedding XML Schema</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.2 <a href="#more-types-schema-import">Importing XML Schema</a><br>&nbsp;&nbsp;&nbsp;&nbsp;4.3 <a href="#more-types-import-include-summary">Summary of Import and Include Mechanisms</a><br>5. <a href="#more-interfaces">More on Interfaces</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.1 <a href="#more-interfaces-interfaces">Interface Syntax </a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.2 <a href="#more-interfaces-inheritance">Interface Inheritance</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.3 <a href="#more-interfaces-faults">Interface Faults</a><br>&nbsp;&nbsp;&nbsp;&nbsp;5.4 <a href="#more-interfaces-operations">Interface Operations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.1 <a href="#more-interfaces-op-att">Operation Attributes</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2 <a href="#N108DB">Operation Message References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.1 <a href="#N108F8">The messageLabel Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.2 <a href="#N1090C">The element Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.2.3 <a href="#N10933">Multiple infault or outfault Elements</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.3 <a href="#more-interfaces-meps">Understanding Message Exchange Patterns (MEPs)</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.4.4 <a href="#more-interfaces-defining-meps">Defining New Message Exchange Patterns (MEPs)</a><br>6. <a href="#more-bindings">More on Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.1 <a href="#more-bindings-wsdl">Syntax Summary for Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.2 <a href="#more-bindins-reusable">Reusable Bindings</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.3 <a href="#more-bindings-faults">Binding Faults</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.4 <a href="#bindingOperations">Binding Operations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.5 <a href="#more-bindings-soap">The SOAP Binding Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.5.1 <a href="#more-bindings-soap-example-explanation">Explanation of Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.6 <a href="#more-bindings-http">The HTTP Binding Extension</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6.6.1 <a href="#N10AF7">Explanation of
! 			Example</a><br>&nbsp;&nbsp;&nbsp;&nbsp;6.7 <a href="#adv-get-vs-post">HTTP GET Versus POST: Which to Use?</a><br>7. <a href="#advanced-topic_ii">Advanced Topics</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.1 <a href="#adv-extensibility">Extensibility</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.1 <a href="#adv-optional-versus-required">Optional Versus Required Extensions</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.1.2 <a href="#adv-scope-of-wsdl-required">Scoping of the wsdl:required Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.2 <a href="#adv-FP">Features and Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.1 <a href="#adv-FP-soap-modules">SOAP Modules</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.2 <a href="#adv-FP-abstract-features">Abstract Features</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.2.3 <a href="#adv-fp-properties">Properties</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.3 <a href="#adv-import-and-authoring">Import mechanism and authoring stye</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.4 <a href="#adv-multiple-docs-describing-same-service">Multiple Interfaces for the Same Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.5 <a href="#adv-versioning">Web Service Versioning</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.1 <a href="#adv-versioning-compatible-evolution">Compatible Evolution</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.2 <a href="#adv-versioning-big-bang">Big Bang</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.5.3 <a href="#adv-versioning-combined">Combined Approaches</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.6 <a href="#adv-MTOM">MTOM Support</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.7 <a href="#adv-RPCstyle">RPC Style</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.8 <a href="#adv-message-dispatch">Enabling Easy Message Dispatch</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.9 <a href="#adv-service-references">Service and Endpoint References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.1 <a href="#reservationDetails">The Reservation Details Web Sevice</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.2 <a href="#reservationList">The Reservation List Web Service</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.3 <a href="#reservationDetails_HTTP">Reservation Details Web Service Using HTTP Transfer</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.9.4 <a href="#reservationList_HTTP_GET">Reservation List Web Service Using HTTP GET</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.10 <a href="#adv-multiple-inline-schemas">Importing Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.1 <a href="#N11046">Schemas in Imported Documents</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.2 <a href="#N110D1">Multiple Inline Schemas in One Document</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.3 <a href="#adv-schema-location">The schemaLocation Attribute</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.10.3.1 <a href="#N1112E">Using the id Attribute to Identify Inline
  						Schemas</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.11 <a href="#adv-rdf-mapping">Mapping to RDF and Semantic Web</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.11.1 <a href="#adv-rdf-rep-wsdl">RDF Representation of WSDL 2.0</a><br>&nbsp;&nbsp;&nbsp;&nbsp;7.12 <a href="#adv-notes-on-uris">Notes on URIs</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.1 <a href="#adv-namespaces-and-schema-locations">XML Namespaces and Schema Locations</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.2 <a href="#adv-relative-uris">Relative URIs</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7.12.3 <a href="#adv-generating-uris">Generating Temporary URIs</a><br>8. <a href="#References">References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;8.1 <a href="#Normative-References">Normative References</a><br>&nbsp;&nbsp;&nbsp;&nbsp;8.2 <a href="#Informative-References">Informative References</a><br></p>
  <h3><a id="appendix" name="appendix">Appendix</a></h3><p class="toc">A. <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br></p></div><hr><div class="body">
***************
*** 152,160 ****
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
  
--- 152,160 ----
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
  
***************
*** 195,199 ****
      &lt;operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out" 
!             style="http://www.w3.org/2004/08/wsdl/style/uri"
              safe = "true"&gt;
          &lt;input messageLabel="In" 
--- 195,199 ----
      &lt;operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out" 
!             style="http://www.w3.org/2005/05/wsdl/style/uri"
              safe = "true"&gt;
          &lt;input messageLabel="In" 
***************
*** 208,212 ****
    &lt;binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2004/08/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
   
--- 208,212 ----
    &lt;binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2005/05/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
   
***************
*** 237,241 ****
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 237,241 ----
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 245,249 ****
  &lt;/description&gt;</pre></div>
  				</div><div class="div3">
! <h4><a name="example-empty-shell-explanation"></a>2.2.1 Explanation of Example</h4><p></p><dl><dt class="label"><code>&lt;description</code></dt><dd><p>Every WSDL 2.0 document has a <code>description</code> element as its top-most element.  This merely acts as a container for the rest of the WSDL 2.0 document, and is used to declare namespaces that will be used throughout the document.</p></dd><dt class="label"><code>xmlns="http://www.w3.org/2004/08/wsdl"</code></dt><dd><p>This is the  XML namespace for WSDL 2.0 itself.  Because we have not defined a prefix for it, any unprefixed elements or attributes are expected to be WSDL 2.0 elements or attributes (such as the <code>description</code> element).</p></dd><dt class="label"><code>targetNamespace= "http://greath.example.com/2004/wsdl/resSvc"</code></dt><dd><p>This defines the WSDL target namespace that we have chosen for the GreatH reservation service, as described above.  Note that this is not an actual XML namespace declaration.  Rather, it is a WSDL 2. attribute whose purpose is <em>analogous</em> to an XML Schema target namespace.</p></dd><dt class="label"><code>xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"</code></dt><dd><p>This is an actual XML namespace declaration for use in our GreatH service description.  Note that this is the same URI that was specified above as the value of  the <code>targetNamespace</code>  attribute.   This will allow us later to use the  <code>tns:</code>   prefix in QNames, to refer to the WSDL target namespace of the GreatH service.  (For more on QNames see [<cite><a href="#XMLNS">XML Namespaces</a></cite>]   section 3 <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames">Qualified Names</a>.)</p></dd></dl><p></p><p>  Now  we can start describing the GreatH service. </p></div></div><div class="div2">
  <h3><a name="basics-types"></a>2.3 Defining Message Types</h3><p>We know that the GreatH service will be sending and receiving messages, so a good starting point in describing the service is to define the message types that the service will use.  We'll use XML Schema to do so, because WSDL 2.0 WSDL processors are likely to support XML Schema at a minimum.  However, WSDL 2.0 does not prohibit the use of some other schema definition language.</p><p>WSDL 2.0 allows message types to be defined directly within the WSDL document, inside the <code>types</code> element, which is a child of the <code>description</code> element.   (Later we'll see how we can provide the type definitions in a separate document, using XML Schema's <code>import</code> mechanism.)    The following schema defines checkAvailability, checkAvailabilityResponse and invalidDataError message types that we'll need.  </p><p>In WSDL 2.0, all normal and fault message types must be defined as single <em>elements</em> at the topmost level (though o course each element may have any amount of substructure inside it).  Thus, a message type must not directly consist of a sequence of elements or other complex type.  </p><div class="exampleOuter">
  					<p class="exampleHead" style="text-align: left"><a name="example-initial-types"></a><i><span>Example 2-3. </span>GreatH Message Types</i></p>
--- 245,249 ----
  &lt;/description&gt;</pre></div>
  				</div><div class="div3">
! <h4><a name="example-empty-shell-explanation"></a>2.2.1 Explanation of Example</h4><p></p><dl><dt class="label"><code>&lt;description</code></dt><dd><p>Every WSDL 2.0 document has a <code>description</code> element as its top-most element.  This merely acts as a container for the rest of the WSDL 2.0 document, and is used to declare namespaces that will be used throughout the document.</p></dd><dt class="label"><code>xmlns="http://www.w3.org/2005/05/wsdl"</code></dt><dd><p>This is the  XML namespace for WSDL 2.0 itself.  Because we have not defined a prefix for it, any unprefixed elements or attributes are expected to be WSDL 2.0 elements or attributes (such as the <code>description</code> element).</p></dd><dt class="label"><code>targetNamespace= "http://greath.example.com/2004/wsdl/resSvc"</code></dt><dd><p>This defines the WSDL target namespace that we have chosen for the GreatH reservation service, as described above.  Note that this is not an actual XML namespace declaration.  Rather, it is a WSDL 2. attribute whose purpose is <em>analogous</em> to an XML Schema target namespace.</p></dd><dt class="label"><code>xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"</code></dt><dd><p>This is an actual XML namespace declaration for use in our GreatH service description.  Note that this is the same URI that was specified above as the value of  the <code>targetNamespace</code>  attribute.   This will allow us later to use the  <code>tns:</code>   prefix in QNames, to refer to the WSDL target namespace of the GreatH service.  (For more on QNames see [<cite><a href="#XMLNS">XML Namespaces</a></cite>]   section 3 <a href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames">Qualified Names</a>.)</p></dd></dl><p></p><p>  Now  we can start describing the GreatH service. </p></div></div><div class="div2">
  <h3><a name="basics-types"></a>2.3 Defining Message Types</h3><p>We know that the GreatH service will be sending and receiving messages, so a good starting point in describing the service is to define the message types that the service will use.  We'll use XML Schema to do so, because WSDL 2.0 WSDL processors are likely to support XML Schema at a minimum.  However, WSDL 2.0 does not prohibit the use of some other schema definition language.</p><p>WSDL 2.0 allows message types to be defined directly within the WSDL document, inside the <code>types</code> element, which is a child of the <code>description</code> element.   (Later we'll see how we can provide the type definitions in a separate document, using XML Schema's <code>import</code> mechanism.)    The following schema defines checkAvailability, checkAvailabilityResponse and invalidDataError message types that we'll need.  </p><p>In WSDL 2.0, all normal and fault message types must be defined as single <em>elements</em> at the topmost level (though o course each element may have any amount of substructure inside it).  Thus, a message type must not directly consist of a sequence of elements or other complex type.  </p><div class="exampleOuter">
  					<p class="exampleHead" style="text-align: left"><a name="example-initial-types"></a><i><span>Example 2-3. </span>GreatH Message Types</i></p>
***************
*** 251,255 ****
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 251,255 ----
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 293,297 ****
  				<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 293,297 ----
  				<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 311,315 ****
      &lt;operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out"
!             style="http://www.w3.org/2004/08/wsdl/style/uri"
              safe = "true"&gt;
          &lt;input messageLabel="In" 
--- 311,315 ----
      &lt;operation name="opCheckAvailability" 
              pattern="http://www.w3.org/2004/03/wsdl/in-out"
!             style="http://www.w3.org/2005/05/wsdl/style/uri"
              safe = "true"&gt;
          &lt;input messageLabel="In" 
***************
*** 329,333 ****
              <dt class="label"><code>pattern="http://www.w3.org/2004/03/wsdl/in-out" </code></dt><dd><p>This line specifies that this operation will use the <a href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#in-out">in-out</a> pattern as described above.  WSDL 2.0 uses URIs to identify message exchange patterns in order to ensure that the identifiers are globally unambiguous, while also permitting future new patterns to be defined by anyone.  (However, just because someone defines a new pattern and creates a URI to identify it, that does <em>not</em> mean that other WSDL processors will automatically recognize or understand that pattern.  As with any other extension, it can be used among processors that <i>do</i> recognize and understand it.)</p></dd>
  	
! 	<dt class="label"><code>style="http://www.w3.org/2004/08/wsdl/style/uri" </code></dt><dd><p>
  	This line indicates that the XML schema defining the input message of this operation follows a set of rules as specified in <a href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#_operation_uri_style">URI Style</a> that ensures the message can be serialized as an URI. 
  	</p></dd>
--- 329,333 ----
              <dt class="label"><code>pattern="http://www.w3.org/2004/03/wsdl/in-out" </code></dt><dd><p>This line specifies that this operation will use the <a href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#in-out">in-out</a> pattern as described above.  WSDL 2.0 uses URIs to identify message exchange patterns in order to ensure that the identifiers are globally unambiguous, while also permitting future new patterns to be defined by anyone.  (However, just because someone defines a new pattern and creates a URI to identify it, that does <em>not</em> mean that other WSDL processors will automatically recognize or understand that pattern.  As with any other extension, it can be used among processors that <i>do</i> recognize and understand it.)</p></dd>
  	
! 	<dt class="label"><code>style="http://www.w3.org/2005/05/wsdl/style/uri" </code></dt><dd><p>
  	This line indicates that the XML schema defining the input message of this operation follows a set of rules as specified in <a href="http://www.w3.org/TR/2004/WD-wsdl20-extensions-20040803/#_operation_uri_style">URI Style</a> that ensures the message can be serialized as an URI. 
  	</p></dd>
***************
*** 393,401 ****
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
    . . .
--- 393,401 ----
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
    . . .
***************
*** 411,415 ****
    &lt;binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2004/08/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
--- 411,415 ----
    &lt;binding name="reservationSOAPBinding" 
  	  interface="tns:reservationInterface"
! 	  type="http://www.w3.org/2005/05/wsdl/soap12"
  	  wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
***************
*** 425,429 ****
  &lt;/description&gt;</pre></div>
  				</div><div class="div3">
! <h4><a name="example-initial-binding-explanation"></a>2.5.1 Explanation of Example</h4><dl><dt class="label"><code>xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"</code></dt><dd><p>We've added two more namespace declarations.  This one is the namespace for the SOAP 1.2 binding extension that is defined in WSDL 2.0 Part 3 [<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework</a></cite>].   Elements and attributes prefixed with  <code>wsoap:</code>  are constructs defined there.  </p></dd><dt class="label"><code>xmlns:soap="http://www.w3.org/2003/05/soap-envelope"</code></dt><dd><p>This namespace is defined by the SOAP 1.2 specification itself.  The SOAP 1.2 specification defines certain terms within this namespace to unambiguously identify particular concepts.  Thus, we will use the <code>soap:</code> prefix when we need to refer to one of those terms.</p></dd><dt class="label"><code>&lt;binding name="reservationSOAPBinding"</code></dt><dd><p>Bindings are declared directly inside the <coe>description</code> element.  The <code>name</code>  attribute defines a name for this binding.  Each name must be unique among all  bindings in this WSDL target namespace, and will be used later when we define a service endpoint that references this binding.  WSDL 2.0 uses separate symbol spaces for interfaces, bindings and services, so interface "foo", binding "foo" and service "foo" are all distinct. </p></dd><dt class="label"><code>interface="tns:reservationInterface"</code></dt><dd><p>This is the name of the interface whose message format and transmission protocols we are specifying.  As discussed in <a href="#more-bindings"><b>6. More on Bindings</b></a>, a reusable binding can be defined by omitting the <code>interface</code>  attribute.  Note also the use of the <code>tns:</code> prefix, which refers to the previously defined WSDL target namespace for this WSDL document.  In this case it may seem silly to have to specify the <code>tns:</code> prefix, but in <a href="#adv-import-and-authoring"><b>7. Import mechanism and authoring style</b></a>  we will see how WSDL 2.0's import mechanism can be used to combine components that are defined in different WSDL target namespaces.</p></dd><dt class="label"><code>type="http://www.w3.org/2004/08/wsdl/soap12"</code></dt><dd><p>This specifies what kind of concrete message format to use, in this case SOAP 1.2.</p></dd><dt class="label"><code>wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"</code></dt><dd><p>This attribute is specific to WSDL 2.0's SOAP binding extension (thus it uses the <code>wsoap:</code> prefix). It specifies the underlying transmission protocol that should be used, in this case HTTP.  </p></dd><dt class="label"><code>&lt;operation ref="tns:opCheckAvailability"</code></dt><dd>
  	<p>
  		This not defining a new operation; rather, it is referencing the
--- 425,429 ----
  &lt;/description&gt;</pre></div>
  				</div><div class="div3">
! <h4><a name="example-initial-binding-explanation"></a>2.5.1 Explanation of Example</h4><dl><dt class="label"><code>xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"</code></dt><dd><p>We've added two more namespace declarations.  This one is the namespace for the SOAP 1.2 binding extension that is defined in WSDL 2.0 Part 3 [<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework</a></cite>].   Elements and attributes prefixed with  <code>wsoap:</code>  are constructs defined there.  </p></dd><dt class="label"><code>xmlns:soap="http://www.w3.org/2003/05/soap-envelope"</code></dt><dd><p>This namespace is defined by the SOAP 1.2 specification itself.  The SOAP 1.2 specification defines certain terms within this namespace to unambiguously identify particular concepts.  Thus, we will use the <code>soap:</code> prefix when we need to refer to one of those terms.</p></dd><dt class="label"><code>&lt;binding name="reservationSOAPBinding"</code></dt><dd><p>Bindings are declared directly inside the <coe>description</code> element.  The <code>name</code>  attribute defines a name for this binding.  Each name must be unique among all  bindings in this WSDL target namespace, and will be used later when we define a service endpoint that references this binding.  WSDL 2.0 uses separate symbol spaces for interfaces, bindings and services, so interface "foo", binding "foo" and service "foo" are all distinct. </p></dd><dt class="label"><code>interface="tns:reservationInterface"</code></dt><dd><p>This is the name of the interface whose message format and transmission protocols we are specifying.  As discussed in <a href="#more-bindings"><b>6. More on Bindings</b></a>, a reusable binding can be defined by omitting the <code>interface</code>  attribute.  Note also the use of the <code>tns:</code> prefix, which refers to the previously defined WSDL target namespace for this WSDL document.  In this case it may seem silly to have to specify the <code>tns:</code> prefix, but in <a href="#adv-import-and-authoring"><b>7. Import mechanism and authoring style</b></a>  we will see how WSDL 2.0's import mechanism can be used to combine components that are defined in different WSDL target namespaces.</p></dd><dt class="label"><code>type="http://www.w3.org/2005/05/wsdl/soap12"</code></dt><dd><p>This specifies what kind of concrete message format to use, in this case SOAP 1.2.</p></dd><dt class="label"><code>wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"</code></dt><dd><p>This attribute is specific to WSDL 2.0's SOAP binding extension (thus it uses the <code>wsoap:</code> prefix). It specifies the underlying transmission protocol that should be used, in this case HTTP.  </p></dd><dt class="label"><code>&lt;operation ref="tns:opCheckAvailability"</code></dt><dd>
  	<p>
  		This not defining a new operation; rather, it is referencing the
***************
*** 446,454 ****
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2004/08/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2004/08/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
    . . .
--- 446,454 ----
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
!     xmlns="http://www.w3.org/2005/05/wsdl"
      targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
      xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
      xmlns:ghns = "http://greath.example.com/2004/schemas/resSvc"
!     xmlns:wsoap= "http://www.w3.org/2005/05/wsdl/soap12"
      xmlns:soap="http://www.w3.org/2003/05/soap-envelope"&gt;
    . . .
***************
*** 530,534 ****
  <h3><a name="wsdl-schema"></a>3.2 WSDL 2.0 Schema and Element Ordering</h3>
  
! <p>The WSDL 2.0 specification supplies a <a href="http://www.w3.org/2004/08/wsdl">normative WSDL 2.0 schema</a>, defined in XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>] [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>], which can be used as an aid in validating WSDL 2.0 documents.  
  <table border="1" summary="Editorial note: KevinL"><tr><td width="50%" valign="top" align="left"><b>Editorial note: KevinL</b></td><td width="50%" valign="top" align="right">20050428</td></tr><tr><td valign="top" align="left" colspan="2">
  						ToDo: update link to wsdl2.0 schema when final uri is available						
--- 530,534 ----
  <h3><a name="wsdl-schema"></a>3.2 WSDL 2.0 Schema and Element Ordering</h3>
  
! <p>The WSDL 2.0 specification supplies a <a href="http://www.w3.org/2005/05/wsdl">normative WSDL 2.0 schema</a>, defined in XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>] [<cite><a href="#XMLSchemaP2">XML Schema: Datatypes</a></cite>], which can be used as an aid in validating WSDL 2.0 documents.  
  <table border="1" summary="Editorial note: KevinL"><tr><td width="50%" valign="top" align="left"><b>Editorial note: KevinL</b></td><td width="50%" valign="top" align="right">20050428</td></tr><tr><td valign="top" align="left" colspan="2">
  						ToDo: update link to wsdl2.0 schema when final uri is available						
***************
*** 688,692 ****
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
! xmlns="http://www.w3.org/2004/08/wsdl"
  targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
  xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
--- 688,692 ----
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt; 
  &lt;description 
! xmlns="http://www.w3.org/2005/05/wsdl"
  targetNamespace= "http://greath.example.com/2004/wsdl/resSvc" 
  xmlns:tns= "http://greath.example.com/2004/wsdl/resSvc"
***************
*** 795,799 ****
  		&lt;operation name="opCheckAvailability" 
  				pattern="http://www.w3.org/2004/03/wsdl/in-out"
! 				style="http://www.w3.org/2004/08/wsdl/style/uri"
  				safe = "true"&gt;
  			&lt;input messageLabel="In" 
--- 795,799 ----
  		&lt;operation name="opCheckAvailability" 
  				pattern="http://www.w3.org/2004/03/wsdl/in-out"
! 				style="http://www.w3.org/2005/05/wsdl/style/uri"
  				safe = "true"&gt;
  			&lt;input messageLabel="In" 
***************
*** 1078,1082 ****
  					<div class="exampleInner"><pre>
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
        . . .
        type="http://www.w3.org/@@@@/@@/wsdl/http"
--- 1078,1082 ----
  					<div class="exampleInner"><pre>
  &lt;?xml version="1.0" encoding="utf-8" ?&gt; 
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
        . . .
        type="http://www.w3.org/@@@@/@@/wsdl/http"
***************
*** 1196,1200 ****
  &lt;binding name="reservationSecureSOAPBinding"
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2004/08/wsdl/soap12"
      wsoap:protocol="http://bindings.example.com/SOAPBindings/secureHTTP"&gt;
    . ..
--- 1196,1200 ----
  &lt;binding name="reservationSecureSOAPBinding"
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2005/05/wsdl/soap12"
      wsoap:protocol="http://bindings.example.com/SOAPBindings/secureHTTP"&gt;
    . ..
***************
*** 1276,1280 ****
  					<p class="exampleHead" style="text-align: left"><a name="credit-card-faults"></a><i><span>Example 7-6. </span>Standard Credit Card Validation Faults (credit-card-faults.wsdl)</i></p>
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://finance.example.com/CreditCards/wsdl"
  	xmlns:tns="http://finance.example.com/CreditCards/wsdl"
--- 1276,1280 ----
  					<p class="exampleHead" style="text-align: left"><a name="credit-card-faults"></a><i><span>Example 7-6. </span>Standard Credit Card Validation Faults (credit-card-faults.wsdl)</i></p>
  					<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://finance.example.com/CreditCards/wsdl"
  	xmlns:tns="http://finance.example.com/CreditCards/wsdl"
***************
*** 1331,1335 ****
  	xmlns:ghns="http://greath.example.com/2004/schemas/resSvc"
  	xmlns:cc="http://finance.example.com/CreditCards/wsdl"
! 	xmlns="http://www.w3.org/2004/08/wsdl"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
--- 1331,1335 ----
  	xmlns:ghns="http://greath.example.com/2004/schemas/resSvc"
  	xmlns:cc="http://finance.example.com/CreditCards/wsdl"
! 	xmlns="http://www.w3.org/2005/05/wsdl"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
***************
*** 1449,1461 ****
  is communicated using a new message namespace. This approach has 
  particular benefits where an agent may quickly tell if a service has 
! changed by simply comparing the namespace value.</p></div><div class="div3">
! <h4><a name="adv-versioning-combined"></a>7.5.3 Combined Approaches</h4><p>It is feasible to combine the "compatible evolution" and "big bang" approaches in a variety of different 
! ways.  For example, the namespace could be changed when message 
! descriptions are changed, but the namespace could stay the same when new 
! operations are added.</p><p>While the big bang approach is currently the easiest to implement in  WSDL 2.0, it can lead to a large number of cloned 
! interfaces that become difficult to manage, thus making the compatible 
! approach preferable to many for widely distributed systems.  In the 
! end, the choice of a versioning strategy for Web services described in 
! WSDL 2.0 is left as an exercise to the reader.</p></div></div>
  			
  			
--- 1449,1476 ----
  is communicated using a new message namespace. This approach has 
  particular benefits where an agent may quickly tell if a service has 
! changed by simply comparing the namespace value.</p></div>
! 
! 	<div class="div3">
! 		
! <h4><a name="adv-versioning-combined"></a>7.5.3 Combined Approaches</h4>
! 		<p>
! 			It is feasible to combine the "compatible evolution" and
! 			"big bang" approaches in a variety of different ways. For
! 			example, the namespace could be changed when message
! 			descriptions are changed, but the namespace could stay the
! 			same when new operations are added.
! 		</p>
! 		<p>
! 			While the big bang approach is currently the easiest to
! 			implement in WSDL 2.0, it can lead to a large number of
! 			cloned interfaces that become difficult to manage, thus
! 			making the compatible approach preferable to many for widely
! 			distributed systems. In the end, the choice of a versioning
! 			strategy for Web services described in WSDL 2.0 is left as
! 			an exercise to the reader.
! 		</p>
! 	</div>
! 	
! </div>
  			
  			
***************
*** 1537,1541 ****
  &lt;binding name="reservationSOAPBinding" 
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2004/08/wsdl/soap12"
      wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
--- 1552,1556 ----
  &lt;binding name="reservationSOAPBinding" 
      interface="tns:reservationInterface"
!     type="http://www.w3.org/2005/05/wsdl/soap12"
      wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
***************
*** 1557,1564 ****
   
  
! <p>The HTTP Message Transmission Optimization (MTOM) feature is engaged using the <code>feature</code> element.  Note that the attribute required=&rdquo;true&rdquo; on the feature declaration indicates that the message must be encoded using the HTTP Optimization feature.  If the attribute were required=&rdquo;false&rdquo; (or this attribute were absent), it would indicate that the use of MTOM is optional for this service: the service accepts either MTOM-encoded messages, or the embedded base64Binary data directly in the Body, and the client is free to send either form of message. </p>
   
  
! <p>The example above shows MTOM enabled for a specific message within an operation.  Placing the feature declaration as a child of <code>operation</code> would require (or enable if required=&rdquo;false&rdquo;) MTOM support for all the messages in that operation.  Placing the feature declaration as a child of <code>binding</code> would require (or enable if required=&rdquo;false&rdquo;) MTOM support for all the operations in that interface.
  </p>
   
--- 1572,1579 ----
   
  
! <p>The HTTP Message Transmission Optimization (MTOM) feature is engaged using the <code>feature</code> element.  Note that the attribute required=�?true�? on the feature declaration indicates that the message must be encoded using the HTTP Optimization feature.  If the attribute were required=�?false�? (or this attribute were absent), it would indicate that the use of MTOM is optional for this service: the service accepts either MTOM-encoded messages, or the embedded base64Binary data directly in the Body, and the client is free to send either form of message. </p>
   
  
! <p>The example above shows MTOM enabled for a specific message within an operation.  Placing the feature declaration as a child of <code>operation</code> would require (or enable if required=�?false�?) MTOM support for all the messages in that operation.  Placing the feature declaration as a child of <code>binding</code> would require (or enable if required=�?false�?) MTOM support for all the operations in that interface.
  </p>
   
***************
*** 1748,1756 ****
  <p class="exampleHead" style="text-align: left"><a name="reservationDetails.wsdl"></a><i><span>Example 7-14. </span>The Reservation Details Web Service Description: reservationDetails.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:tns="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsoap="http://www.w3.org/2004/08/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
--- 1763,1771 ----
  <p class="exampleHead" style="text-align: left"><a name="reservationDetails.wsdl"></a><i><span>Example 7-14. </span>The Reservation Details Web Service Description: reservationDetails.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:tns="http://greath.example.com/2004/services/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsoap="http://www.w3.org/2005/05/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
***************
*** 1792,1796 ****
  	&lt;binding name="reservationDetailsSOAPBinding"
  		interface="tns:reservationDetailsInterface"
! 		type="http://www.w3.org/2004/08/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
--- 1807,1811 ----
  	&lt;binding name="reservationDetailsSOAPBinding"
  		interface="tns:reservationDetailsInterface"
! 		type="http://www.w3.org/2005/05/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
***************
*** 1821,1830 ****
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"&gt;
  
! 	&lt;import namespace="http://www.w3.org/2004/08/wsdl" /&gt;
  
! 	&lt;import namespace="http://www.w3.org/2004/08/wsdl-instance" /&gt;
  
  	&lt;element name="confirmationNumber" type="string" /&gt;
--- 1836,1845 ----
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"&gt;
  
! 	&lt;import namespace="http://www.w3.org/2005/05/wsdl" /&gt;
  
! 	&lt;import namespace="http://www.w3.org/2005/05/wsdl-instance" /&gt;
  
  	&lt;element name="confirmationNumber" type="string" /&gt;
***************
*** 2004,2009 ****
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"&gt;
  
--- 2019,2024 ----
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"&gt;
  
***************
*** 2078,2087 ****
  						<div class="exampleInner"><pre>
  &lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationList"
  	xmlns:tns="http://greath.example.com/2004/services/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:list="http://greath.example.com/2004/schemas/reservationList"
! 	xmlns:wsoap="http://www.w3.org/2004/08/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
--- 2093,2102 ----
  						<div class="exampleInner"><pre>
  &lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/reservationList"
  	xmlns:tns="http://greath.example.com/2004/services/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:list="http://greath.example.com/2004/schemas/reservationList"
! 	xmlns:wsoap="http://www.w3.org/2005/05/wsdl/soap12"
  	xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
  
***************
*** 2132,2136 ****
  	&lt;binding name="reservationListSOAPBinding"
  		interface="tns:reservationListInterface"
! 		type="http://www.w3.org/2004/08/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
--- 2147,2151 ----
  	&lt;binding name="reservationListSOAPBinding"
  		interface="tns:reservationListInterface"
! 		type="http://www.w3.org/2005/05/wsdl/soap12"
  		wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP"&gt;
  
***************
*** 2173,2179 ****
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"&gt;
  
! 	&lt;import namespace="http://www.w3.org/2004/08/wsdl-instance" /&gt;
  
  	&lt;import
--- 2188,2194 ----
  	xmlns:tns="http://greath.example.com/2004/schemas/reservationList"
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"&gt;
  
! 	&lt;import namespace="http://www.w3.org/2005/05/wsdl-instance" /&gt;
  
  	&lt;import
***************
*** 2262,2267 ****
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2004/08/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"&gt;
  
--- 2277,2282 ----
  	xmlns:details="http://greath.example.com/2004/schemas/reservationDetails"
  	xmlns:wdetails="http://greath.example.com/2004/services/reservationDetails"
! 	xmlns:wsdl="http://www.w3.org/2005/05/wsdl"
! 	xmlns:wsdli="http://www.w3.org/2005/05/wsdl-instance"
  	wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"&gt;
  
***************
*** 2289,2293 ****
  							. . .
  &lt;binding name="reservationDetailsHTTPBinding"
!          type="http://www.w3.org/2004/08/wsdl/http"
           interface="tns:reservationDetailsInterface" &gt;
  
--- 2304,2308 ----
  							. . .
  &lt;binding name="reservationDetailsHTTPBinding"
!          type="http://www.w3.org/2005/05/wsdl/http"
           interface="tns:reservationDetailsInterface" &gt;
  
***************
*** 2312,2316 ****
  							. . .
  &lt;binding name="reservationListHTTPBinding"
!     type="http://www.w3.org/2004/08/wsdl/http"
      interface="tns:reservationListInterface"
      whttp:methodDefault="GET"&gt;
--- 2327,2331 ----
  							. . .
  &lt;binding name="reservationListHTTPBinding"
!     type="http://www.w3.org/2005/05/wsdl/http"
      interface="tns:reservationListInterface"
      whttp:methodDefault="GET"&gt;
***************
*** 2380,2384 ****
  
  &lt;binding name="reservationListQueryHTTPBinding"
!     type="http://www.w3.org/2004/08/wsdl/http"
      interface="tns:reservationListInterfaceWithQuery"
      whttp:methodDefault="GET"&gt;
--- 2395,2399 ----
  
  &lt;binding name="reservationListQueryHTTPBinding"
!     type="http://www.w3.org/2005/05/wsdl/http"
      interface="tns:reservationListInterfaceWithQuery"
      whttp:methodDefault="GET"&gt;
***************
*** 2433,2437 ****
  				<div class="div3">
  					
! <h4><a name="N11040"></a>7.10.1 Schemas in Imported Documents</h4>
  					<p>
  						In this example, we consider some GreatH Hotel
--- 2448,2452 ----
  				<div class="div3">
  					
! <h4><a name="N11046"></a>7.10.1 Schemas in Imported Documents</h4>
  					<p>
  						In this example, we consider some GreatH Hotel
***************
*** 2476,2480 ****
  						<div class="exampleInner"><pre>
  							&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2491,2495 ----
  						<div class="exampleInner"><pre>
  							&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
***************
*** 2599,2603 ****
  <p class="exampleHead" style="text-align: left"><a name="updateDetails.wsdl"></a><i><span>Example 7-25. </span>The Update Reservation Details Web Service: updateDetails.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/updateDetails"
  	xmlns:tns="http://greath.example.com/2004/services/updateetails"
--- 2614,2618 ----
  <p class="exampleHead" style="text-align: left"><a name="updateDetails.wsdl"></a><i><span>Example 7-25. </span>The Update Reservation Details Web Service: updateDetails.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/updateDetails"
  	xmlns:tns="http://greath.example.com/2004/services/updateetails"
***************
*** 2640,2644 ****
  				<div class="div3">
  					
! <h4><a name="N110CB"></a>7.10.2 Multiple Inline Schemas in One Document</h4>
  					<p>
  						A WSDL 2.0 document may define multiple inline
--- 2655,2659 ----
  				<div class="div3">
  					
! <h4><a name="N110D1"></a>7.10.2 Multiple Inline Schemas in One Document</h4>
  					<p>
  						A WSDL 2.0 document may define multiple inline
***************
*** 2700,2704 ****
  						</i></p>
  						<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2715,2719 ----
  						</i></p>
  						<div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
***************
*** 2774,2778 ****
  the <code>schema</code> element. The simplest way to accomplish this is to use the <code>id</code> attribute, however XPointer can also be used.
  </p><div class="div4">
! <h5><a name="N11128"></a>7.10.3.1 Using the id Attribute to Identify Inline
  						Schemas</h5><p>
  						<a href="#schemaIds.wsdl">Example 7-27</a>
--- 2789,2793 ----
  the <code>schema</code> element. The simplest way to accomplish this is to use the <code>id</code> attribute, however XPointer can also be used.
  </p><div class="div4">
! <h5><a name="N1112E"></a>7.10.3.1 Using the id Attribute to Identify Inline
  						Schemas</h5><p>
  						<a href="#schemaIds.wsdl">Example 7-27</a>
***************
*** 2793,2797 ****
  <div class="exampleOuter"><p class="exampleHead" style="text-align: left"><a name="schemaIds.wsdl"></a><i><span>Example 7-27. </span>Using Ids in Inline Schemas: schemaIds.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2004/08/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"
--- 2808,2812 ----
  <div class="exampleOuter"><p class="exampleHead" style="text-align: left"><a name="schemaIds.wsdl"></a><i><span>Example 7-27. </span>Using Ids in Inline Schemas: schemaIds.wsdl</i></p>
  <div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="utf-8" ?&gt;
! &lt;description xmlns="http://www.w3.org/2005/05/wsdl"
  	targetNamespace="http://greath.example.com/2004/services/retrieveDetails"
  	xmlns:tns="http://greath.example.com/2004/services/retrieveDetails"

Received on Sunday, 1 May 2005 15:08:04 UTC