- From: Arthur Ryman via cvs-syncmail <cvsmail@w3.org>
- Date: Sun, 01 May 2005 12:20:11 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20 In directory hutz:/tmp/cvs-serv29932 Modified Files: wsdl20-z.html wsdl20.pdf wsdl20.html wsdl20-primer.html wsdl20.xml wsdl20-z-ie.html wsdl20.tex wsdl20-primer.xml wsdl20-adjuncts.html wsdl20.toc Log Message: Updated Service Reference section of Primer for LC117. Index: wsdl20-adjuncts.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-adjuncts.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** wsdl20-adjuncts.html 29 Apr 2005 19:42:02 -0000 1.29 --- wsdl20-adjuncts.html 1 May 2005 12:20:08 -0000 1.30 *************** *** 1,15 **** ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> ! <head> ! <meta name="generator" content= ! "HTML Tidy for Linux/x86 (vers 1st July 2004), see www.w3.org" /> ! <meta http-equiv="Content-Type" content= ! "text/html; charset=utf-8" /> ! <title>Web Services Description Language (WSDL) Version 2.0 Part 2: ! Adjuncts</title> [...10890 lines suppressed...] ! <td rowspan="1" colspan="1">JJM</td> ! <td rowspan="1" colspan="1">Simplified the introduction; referred to Part1 for a longer introduction</td> ! </tr> ! <tr> ! <td rowspan="1" colspan="1">20020221</td> ! <td rowspan="1" colspan="1">JJM</td> ! <td rowspan="1" colspan="1">Renamed to "Part 2: Bindings"</td> ! </tr> ! <tr> ! <td rowspan="1" colspan="1">20020221</td> ! <td rowspan="1" colspan="1">JJM</td> ! <td rowspan="1" colspan="1">Created from http://www.w3.org/TR/2001/NOTE-wsdl-20010315</td> ! </tr> ! </tbody> ! </table><br> ! </div> ! </div> ! </div> ! </body></html> \ No newline at end of file Index: wsdl20-z-ie.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-z-ie.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** wsdl20-z-ie.html 22 Apr 2005 06:51:33 -0000 1.11 --- wsdl20-z-ie.html 1 May 2005 12:20:08 -0000 1.12 *************** *** 95,99 **** output [owner element]</a><br> 2.12.2.2 <a href="#Binding_Message_Reference_extension_elements">Binding Message Reference extension elements</a><br> 2.12.3 <a href="#Binding_Message_Reference_Mapping">Mapping Binding Message Reference's XML Representation to Component Properties</a><br> 2.13 <a href="#Binding_Fault_Reference">Binding Fault Reference</a><br> 2.13.1 <a href="#Binding_Fault_Reference_details">The Binding Fault Reference Component</a><br> 2.13.2 <a href="#Binding_Fault_Reference_XMLRep">XML Representation of Binding Fault Reference Component</a><br> 2.13.2.1 <a href="#Binding_Fault_Reference_ref_attribute">ref attribute information item with infault or outfault [owner element]</a><br> 2.13.2.2 <a href="#Binding_Fault_Reference_messageLabel_attribute">messageLabel attribute information item with infault or ! outfault [owner element]</a><br> 2.13.2.3 <a href="#Binding_Fault_Reference_extension_elements">Binding Fault Reference extension elements</a><br> 2.13.3 <a href="#Binding_Fault_Reference_Mapping">Mapping Binding Fault Reference's XML Representation to Component Properties</a><br> 2.14 <a href="#Service">Service</a><br> 2.14.1 <a href="#Service_details">The Service Component</a><br> 2.14.1.1 <a href="#Service_OperationName">Operation Name Mapping Requirement</a><br> 2.14.2 <a href="#Service_XMLRep">XML Representation of Service Component</a><br> 2.14.2.1 <a href="#Service_name_attribute">name attribute information item with serice [owner element]</a><br> 2.14.2.2 <a href="#Service_interface_attribute">interface attribute information item with service [owner element]</a><br> 2.14.3 <a href="#Service_Mapping">Mapping Service's XML Representation to Component Properties</a><br> 2.15 <a href="#Endpoint">Endpoint</a><br> 2.15.1 <a href="#Endpoint_details">The Endpoint Component</a><br> 2.15.2 <a href="#Endpoint_XMLRep">XML Representation of Endpoint Component</a><br> 2.15.2.1 <a href="#Endpoint_name_attribute">name attribute information item with endpoint [owner element]</a><br> 2.15.2.2 <a href="#Endpoint_binding_attribute">binding attribute information item with ndpoint [owner element]</a><br> 2.15.2.3 <a href="#Endpoint_address_attribute">address attribute information item with endpoint [owner element]</a><br> 2.15.2.4 <a href="#Endpoint_extension_elements">Endpoint extension elements</a><br> 2.15.3 <a href="#Endpoint_Mapping">Mapping Endpoint's XML Representation to Component Properties</a><br> 2.16 <a href="#simpletypes">XML Schema 1.0 Simple Types Used in the Component Model</a><br> 2.16.1 <a href="#ncname_type">NCName Type</a><br> 2.16.2 <a href="#anyuri_type">anyURI Type</a><br> 2.16.3 <a href="#qname_type">QName Type</a><br> 2.16.4 <a href="#boolean_type">boolean Tye</a><br> 2.17 <a href="#compequiv">Equivalence of Components</a><br> 2.18 <a href="#symbolspaces">Symbol Spaces</a><br> 2.19 <a href="#qnameres">QName resolution</a><br> 2.20 <a href="#uricompare">Comparing URIs</a><br>3. <a href="#eii-types">Types</a><br> 3.1 <a href="#xsd-types">Using W3C XML Schema Description Language</a><br> 3.1.1 <a href="#import-xsd">Importing XML Schema</a><br> 3.1.1.1 <a href="#namespace-attribute">namespace attribute information item</a><br> 3.1.1.2 <a href="#schemaLocation-attribute">schemaLocation attribute information item</a><br> 3.1.2 <a href="#embed-xsd">Embedding XML Schema</a><br> nbsp; 3.1.2.1 <a href="#targetNamespace-attribute">targetNamespace attribute information item</a><br> 3.1.3 <a href="#references-definitions">References to Element Declarations and Type Definitions</a><br> 3.2 <a href="#other-types">Using Other Schema Languages</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br> 4.1 <a href="#includes">Including Descriptions</a><br> 4.1.1 <a href="#include_location_attribute">location attribute information item with include [owner element]</a><br> 4.2 <a href="#imports">Importing Descriptions</a><br> 4.2.1 <a href="#import_namespace_attribute">namespace attribute information item</a><br> 4.2.2 <a href="#import_location_attribute">location attribute information item with import [owner elment]</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br> 6.1 <a href="#eii-extensibility">Element based Extensibility</a><br> 6.1.1 <a href="#mandatoryext">Mandatory extensions</a><br> 6.1.2 <a href="#required-aii">required attribute information item</a><br> 6.2 <a href="#aii-extensibility">Attribute-based Extensibility</a><br> 6.3 <a href="#extensibility-semantics">Extensibility Semantics</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br> 7.1 <a href="#wsdlLocation-aii">wsdli:wsdlLocation attribute information item</a><br>8. <a href="#conformance">Conformance</a><br> 8.1 <a href="#infoset">XML Information Set Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="References">References</a><br> 10.1 <a href="#Normative-References">Normative References</a><br> 10.2 <a href="#Informative-References">Informative References</a><br></p> <h3><a id="appendix" name="appendix">Appendices</a></h3><p class="toc">A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br> A.1 <a href="#ietf-reg">Registration</a><br> A.2 <a href="#frag-ids">Fragment Identifiers</a><br> A.2.1 <a href="#wsdl.interface">wsdl.interface(interface)</a><br> A.2.2 <a href="#wsdl.interfaceFault">wsdl.interfaceFault(interface/fault)</a><br> A.2.3 <a href="#wsdl.interfaceOperation">wsdl.interfaceOperation(interface/operation)</a><br> A.2.4 <a href="#wsdl.messageReference">wsdl.messageReference(interface/operation/message)</a><br> A.2.5 <a href="#wsdl.faultReference">wsdl.faultReference(interface/operation/message/fault)</a><br> A.2.6 <a href=#wsdl.binding">wsdl.binding(binding)</a><br> A.2.7 <a href="#wsdl.bindingFault">wsdl.bindingFault(binding/fault)</a><br> A.2.8 <a href="#wsdl.bindingOperation">wsdl.bindingOperation(binding/operation)</a><br> A.2.9 <a href="#wsdl.bindingMessageReference">wsdl.bindingMessageReference(binding/operation/message)</a><br> A.2.10 <a href="#wsdl.bindingFaultReference">wsdl.bindingFaultReference(binding/operation/fault/message)</a><br> A.2.11 <a href="#wsdl.service"> wsdl.service(service) --- 95,99 ---- output [owner element]</a><br> 2.12.2.2 <a href="#Binding_Message_Reference_extension_elements">Binding Message Reference extension elements</a><br> 2.12.3 <a href="#Binding_Message_Reference_Mapping">Mapping Binding Message Reference's XML Representation to Component Properties</a><br> 2.13 <a href="#Binding_Fault_Reference">Binding Fault Reference</a><br> 2.13.1 <a href="#Binding_Fault_Reference_details">The Binding Fault Reference Component</a><br> 2.13.2 <a href="#Binding_Fault_Reference_XMLRep">XML Representation of Binding Fault Reference Component</a><br> 2.13.2.1 <a href="#Binding_Fault_Reference_ref_attribute">ref attribute information item with infault or outfault [owner element]</a><br> 2.13.2.2 <a href="#Binding_Fault_Reference_messageLabel_attribute">messageLabel attribute information item with infault or ! outfault [owner element]</a><br> 2.13.2.3 <a href="#Binding_Fault_Reference_extension_elements">Binding Fault Reference extension elements</a><br> 2.13.3 <a href="#Binding_Fault_Reference_Mapping">Mapping Binding Fault Reference's XML Representation to Component Properties</a><br> 2.14 <a href="#Service">Service</a><br> 2.14.1 <a href="#Service_details">The Service Component</a><br> 2.14.1.1 <a href="#Service_OperationName">Operation Name Mapping Requirement</a><br> 2.14.2 <a href="#Service_XMLRep">XML Representation of Service Component</a><br> 2.14.2.1 <a href="#Service_references">Service References</a><br> nbsp; 2.14.2.2 <a href="#Service_name_attribute">name attribute information item with service [owner element]</a><br> 2.14.2.3 <a href="#Service_interface_attribute">interface attribute information item with service [owner element]</a><br> 2.14.3 <a href="#Service_Mapping">Mapping Service's XML Representation to Component Properties</a><br> 2.15 <a href="#Endpoint">Endpoint</a><br> 2.15.1 <a href="#Endpoint_details">The Endpoint Component</a><br> 2.15.2 <a href="#Endpoint_XMLRep">XML Representation of Endpoint Component</a><br> 2.15.2.1 <a href="#Endpoint_references">Endpoint References</a><br> &nsp;2.15.2.2 <a href="#Endpoint_name_attribute">name attribute information item with endpoint [owner element]</a><br> 2.15.2.3 <a href="#Endpoint_binding_attribute">binding attribute information item with endpoint [owner element]</a><br> 2.15.2.4 <a href="#Endpoint_address_attribute">address attribute information item with endpoint [owner element]</a><br> 2.15.2.5 <a href="#Endpoint_extension_elements">Endpoint extension elements</a><br> 2.15.3 <a href="#Endpoint_Mapping">Mapping Endpoint's XML Representation to Component Properties</a><br> 2.16 <a href="#simpletypes">XML Schema 1.0 Simple Types Used in the Component Model</a><br> 2.16.1 <a href="#ncname_type">NCName Type</a><br>  2.16.2 <a href="#anyuri_type">anyURI Type</a><br> 2.16.3 <a href="#qname_type">QName Type</a><br> 2.16.4 <a href="#boolean_type">boolean Type</a><br> 2.17 <a href="#compequiv">Equivalence of Components</a><br> 2.18 <a href="#symbolspaces">Symbol Spaces</a><br> 2.19 <a href="#qnameres">QName resolution</a><br> 2.20 <a href="#uricompare">Comparing URIs</a><br>3. <a href="#eii-types">Types</a><br> 3.1 <a href="#xsd-types">Using W3C XML Schema Description Language</a><br> 3.1.1 <a href="#import-xsd">Importing XML Schema</a><br> 3.1.1.1 <a href="#namespace-attribute">namespace attribute information item</a><br> &nbs; 3.1.1.2 <a href="#schemaLocation-attribute">schemaLocation attribute information item</a><br> 3.1.2 <a href="#embed-xsd">Embedding XML Schema</a><br> 3.1.2.1 <a href="#targetNamespace-attribute">targetNamespace attribute information item</a><br> 3.1.3 <a href="#references-definitions">References to Element Declarations and Type Definitions</a><br> 3.2 <a href="#other-types">Using Other Schema Languages</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br> 4.1 <a href="#includes">Including Descriptions</a><br> 4.1.1 <a href="#include_location_attribute">location attribute information item with include [owner element]</a><br> 4.2 <a href="#imports">Importing Descriptions</a><br> &nsp; 4.2.1 <a href="#import_namespace_attribute">namespace attribute information item</a><br> 4.2.2 <a href="#import_location_attribute">location attribute information item with import [owner element]</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br> 6.1 <a href="#eii-extensibility">Element based Extensibility</a><br> 6.1.1 <a href="#mandatoryext">Mandatory extensions</a><br> 6.1.2 <a href="#required-aii">required attribute information item</a><br> 6.2 <a href="#aii-extensibility">Attribute-based Extensibility</a><br> 6.3 <a href="#extensibility-semantics">Extensibility Semantics</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br> 7.1 <a href="#wsdlLocatin-aii">wsdli:wsdlLocation attribute information item</a><br>8. <a href="#conformance">Conformance</a><br> 8.1 <a href="#infoset">XML Information Set Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br> 10.1 <a href="#Normative-References">Normative References</a><br> 10.2 <a href="#Informative-References">Informative References</a><br></p> <h3><a id="appendix" name="appendix">Appendices</a></h3><p class="toc">A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br> A.1 <a href="#ietf-reg">Registration</a><br> A.2 <a href="#frag-ids">Fragment Identifiers</a><br> A.2.1 <a href="#wsdl.interface">wsdl.interface(interface)</a><br> A.2.2 <a href="#wsdl.interfaceFault">wsdl.interfaceFault(interface/fault)</a><br> A.2.3 <a href="#wsdl.interfaceOperation">wsdl.interfaceOperation(interface/operation)</a><br> A.2.4 <a href="#wsdl.messageReference">wsdl.messageReference(interface/operation/message)</a><br> A.2.5 <a href="#wsdl.faultReference">wsdl.faultReference(interface/operation/message/fault)</a><br> A.2.6 <a href=#wsdl.binding">wsdl.binding(binding)</a><br> A.2.7 <a href="#wsdl.bindingFault">wsdl.bindingFault(binding/fault)</a><br> A.2.8 <a href="#wsdl.bindingOperation">wsdl.bindingOperation(binding/operation)</a><br> A.2.9 <a href="#wsdl.bindingMessageReference">wsdl.bindingMessageReference(binding/operation/message)</a><br> A.2.10 <a href="#wsdl.bindingFaultReference">wsdl.bindingFaultReference(binding/operation/fault/message)</a><br> A.2.11 <a href="#wsdl.service"> [...1266 lines suppressed...] + Removed "is not dereferenceable or" from section 4.1.1 and removed references to + a WSDL processor.</td> + </tr> + <tr> + <td rowspan="1" colspan="1">20050429</td> + <td rowspan="1" colspan="1">RRC</td> + <td rowspan="1" colspan="1">Added clarification that an operation style MAY affect only input or only output + messages (or any other combination).</td> + </tr> + <tr> <td rowspan="1" colspan="1">20050421</td> <td rowspan="1" colspan="1">AGR</td> *************** *** 10308,10311 **** --- 10412,10416 ---- </tr> <tr> + <td rowspan="1" colspan="1">20030120</td> <td rowspan="1" colspan="1">MJG</td> Index: wsdl20.tex =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.tex,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** wsdl20.tex 30 Apr 2005 13:35:20 -0000 1.40 --- wsdl20.tex 1 May 2005 12:20:08 -0000 1.41 *************** *** 1176,1180 **** This document does not specify a means of producing an XML Infoset representation from a component model instance. ! In particular, there are in general many valid ways to modularize a a given component model instance into one or more XML Infosets. --- 1176,1180 ---- This document does not specify a means of producing an XML Infoset representation from a component model instance. ! In particular, there are in general many valid ways to modularize a given component model instance into one or more XML Infosets. [...1013 lines suppressed...] + Removed "is not dereferenceable or" from section 4.1.1 and removed references to + a WSDL processor. + \\ \hline + + 20050429& + RRC& + Added clarification that an operation style MAY affect only input or only output + messages (or any other combination). + \\ \hline + 20050421& AGR& *************** *** 11063,11066 **** --- 11145,11149 ---- \\ \hline + 20030120& MJG& Index: wsdl20.toc =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.toc,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** wsdl20.toc 22 Apr 2005 06:51:34 -0000 1.23 --- wsdl20.toc 1 May 2005 12:20:09 -0000 1.24 *************** *** 22,197 **** \contentsline {subsection}{\numberline {2.2.2}XML Representation of Interface Component}{34}{subsection.2.2.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {interface} [owner element]}{35}{section*.4} ! \contentsline {subsubsection}{\texttt {extends} \textit {attribute information item}}{35}{section*.5} ! \contentsline {subsubsection}{\texttt {styleDefault} \textit {attribute information item}}{35}{section*.6} ! \contentsline {subsection}{\numberline {2.2.3}Mapping Interface's XML Representation to Component Properties}{35}{subsection.2.2.3} ! \contentsline {section}{\numberline {2.3}Interface Fault}{36}{section.2.3} ! \contentsline {subsection}{\numberline {2.3.1}The Interface Fault Component}{36}{subsection.2.3.1} ! \contentsline {subsection}{\numberline {2.3.2}XML Representation of Interface Fault Component}{38}{subsection.2.3.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {fault} [owner element]}{39}{section*.7} \contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {fault} [owner element]}{40}{section*.8} ! \contentsline {subsection}{\numberline {2.3.3}Mapping Interface Fault's XML Representation to Component Properties}{40}{subsection.2.3.3} \contentsline {section}{\numberline {2.4}Interface Operation}{41}{section.2.4} \contentsline {subsection}{\numberline {2.4.1}The Interface Operation Component}{41}{subsection.2.4.1} ! \contentsline {subsubsection}{Operation Style}{43}{section*.9} ! \contentsline {subsection}{\numberline {2.4.2}XML Representation of Interface Operation Component}{44}{subsection.2.4.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {operation} [owner element]}{45}{section*.10} \contentsline {subsubsection}{\texttt {pattern} \textit {attribute information item} with \texttt {operation} [owner element]}{46}{section*.11} ! \contentsline {subsubsection}{\texttt {style} \textit {attribute information item} with \texttt {operation} [owner element]}{46}{section*.12} ! \contentsline {subsubsection}{\texttt {safe} \textit {attribute information item} with \texttt {operation} [owner element]}{46}{section*.13} ! \contentsline {subsection}{\numberline {2.4.3}Mapping Interface Operation's XML Representation to Component Properties}{46}{subsection.2.4.3} ! \contentsline {section}{\numberline {2.5}Message Reference}{47}{section.2.5} ! \contentsline {subsection}{\numberline {2.5.1}The Message Reference Component}{47}{subsection.2.5.1} \contentsline {subsection}{\numberline {2.5.2}XML Representation of Message Reference Component}{50}{subsection.2.5.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner element]}{51}{section*.14} ! \contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner element]}{51}{section*.15} ! \contentsline {subsection}{\numberline {2.5.3}Mapping Message Reference's XML Representation to Component Properties}{51}{subsection.2.5.3} ! \contentsline {section}{\numberline {2.6}Fault Reference}{52}{section.2.6} ! \contentsline {subsection}{\numberline {2.6.1}The Fault Reference Component}{52}{subsection.2.6.1} ! \contentsline {subsection}{\numberline {2.6.2}XML Representation of Fault Reference}{54}{subsection.2.6.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner element]}{55}{section*.16} \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner element]}{56}{section*.17} ! \contentsline {subsection}{\numberline {2.6.3}Mapping Fault Reference's XML Representation to Component Properties}{56}{subsection.2.6.3} ! \contentsline {section}{\numberline {2.7}Feature}{57}{section.2.7} ! \contentsline {subsection}{\numberline {2.7.1}The Feature Component}{57}{subsection.2.7.1} ! \contentsline {subsubsection}{Feature Composition Model}{58}{section*.18} \contentsline {subsection}{\numberline {2.7.2}XML Representation of Feature Component}{61}{subsection.2.7.2} ! \contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {feature} [owner element]}{61}{section*.19} \contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {feature} [owner element]}{62}{section*.20} ! \contentsline {subsection}{\numberline {2.7.3}Mapping Feature's XML Representation to Component Properties}{62}{subsection.2.7.3} ! \contentsline {section}{\numberline {2.8}Property}{62}{section.2.8} ! \contentsline {subsection}{\numberline {2.8.1}The Property Component}{62}{subsection.2.8.1} ! \contentsline {subsubsection}{Property Composition Model}{64}{section*.21} ! \contentsline {subsection}{\numberline {2.8.2}XML Representation of Property Component}{66}{subsection.2.8.2} ! \contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {property} [owner element]}{67}{section*.22} ! \contentsline {subsubsection}{\texttt {value} \textit {element information item} with \texttt {property} [parent]}{67}{section*.23} ! \contentsline {subsubsection}{\texttt {constraint} \textit {element information item} with \texttt {property} [parent]}{68}{section*.24} ! \contentsline {subsection}{\numberline {2.8.3}Mapping Property's XML Representation to Component Properties}{68}{subsection.2.8.3} ! \contentsline {section}{\numberline {2.9}Binding}{69}{section.2.9} ! \contentsline {subsection}{\numberline {2.9.1}The Binding Component}{69}{subsection.2.9.1} ! \contentsline {subsection}{\numberline {2.9.2}XML Representation of Binding Component}{71}{subsection.2.9.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {binding} [owner element]}{72}{section*.25} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {binding} [owner element]}{72}{section*.26} ! \contentsline {subsubsection}{\texttt {type} \textit {attribute information item} with \texttt {binding} [owner element]}{72}{section*.27} ! \contentsline {subsubsection}{Binding extension elements}{73}{section*.28} ! \contentsline {subsection}{\numberline {2.9.3}Mapping Binding's XML Representation to Component Properties}{73}{subsection.2.9.3} ! \contentsline {section}{\numberline {2.10}Binding Fault}{73}{section.2.10} ! \contentsline {subsection}{\numberline {2.10.1}The Binding Fault Component}{73}{subsection.2.10.1} ! \contentsline {subsection}{\numberline {2.10.2}XML Representation of Binding Fault Component}{75}{subsection.2.10.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {fault} [owner element]}{76}{section*.29} ! \contentsline {subsubsection}{Binding Fault extension elements}{76}{section*.30} ! \contentsline {subsection}{\numberline {2.10.3}Mapping Binding Fault's XML Representation to Component Properties}{76}{subsection.2.10.3} ! \contentsline {section}{\numberline {2.11}Binding Operation}{77}{section.2.11} ! \contentsline {subsection}{\numberline {2.11.1}The Binding Operation Component}{77}{subsection.2.11.1} ! \contentsline {subsection}{\numberline {2.11.2}XML Representation of Binding Operation Component}{78}{subsection.2.11.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {operation} [owner element]}{79}{section*.31} ! \contentsline {subsubsection}{Binding Operation extension elements}{80}{section*.32} ! \contentsline {subsection}{\numberline {2.11.3}Mapping Binding Operation's XML Representation to Component Properties}{80}{subsection.2.11.3} ! \contentsline {section}{\numberline {2.12}Binding Message Reference}{80}{section.2.12} ! \contentsline {subsection}{\numberline {2.12.1}The Binding Message Reference Component}{80}{subsection.2.12.1} ! \contentsline {subsection}{\numberline {2.12.2}XML Representation of Binding Message Reference Component}{81}{subsection.2.12.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input} or \texttt {output} [owner element]}{83}{section*.33} ! \contentsline {subsubsection}{Binding Message Reference extension elements}{83}{section*.34} ! \contentsline {subsection}{\numberline {2.12.3}Mapping Binding Message Reference's XML Representation to Component Properties}{83}{subsection.2.12.3} ! \contentsline {section}{\numberline {2.13}Binding Fault Reference}{84}{section.2.13} ! \contentsline {subsection}{\numberline {2.13.1}The Binding Fault Reference Component}{84}{subsection.2.13.1} ! \contentsline {subsection}{\numberline {2.13.2}XML Representation of Binding Fault Reference Component}{85}{subsection.2.13.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {infault} or \texttt {outfault} [owner element]}{86}{section*.35} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {infault} or \texttt {outfault} [owner element]}{87}{section*.36} ! \contentsline {subsubsection}{Binding Fault Reference extension elements}{87}{section*.37} ! \contentsline {subsection}{\numberline {2.13.3}Mapping Binding Fault Reference's XML Representation to Component Properties}{87}{subsection.2.13.3} ! \contentsline {section}{\numberline {2.14}Service}{88}{section.2.14} ! \contentsline {subsection}{\numberline {2.14.1}The Service Component}{88}{subsection.2.14.1} ! \contentsline {subsubsection}{Operation Name Mapping Requirement}{89}{section*.38} ! \contentsline {subsection}{\numberline {2.14.2}XML Representation of Service Component}{90}{subsection.2.14.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {service} [owner element]}{91}{section*.39} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {service} [owner element]}{92}{section*.40} ! \contentsline {subsection}{\numberline {2.14.3}Mapping Service's XML Representation to Component Properties}{92}{subsection.2.14.3} ! \contentsline {section}{\numberline {2.15}Endpoint}{93}{section.2.15} ! \contentsline {subsection}{\numberline {2.15.1}The Endpoint Component}{93}{subsection.2.15.1} ! \contentsline {subsection}{\numberline {2.15.2}XML Representation of Endpoint Component}{94}{subsection.2.15.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {endpoint} [owner element]}{95}{section*.41} ! \contentsline {subsubsection}{\texttt {binding} \textit {attribute information item} with \texttt {endpoint} [owner element]}{95}{section*.42} ! \contentsline {subsubsection}{\texttt {address} \textit {attribute information item} with \texttt {endpoint} [owner element]}{96}{section*.43} ! \contentsline {subsubsection}{Endpoint extension elements}{96}{section*.44} ! \contentsline {subsection}{\numberline {2.15.3}Mapping Endpoint's XML Representation to Component Properties}{96}{subsection.2.15.3} ! \contentsline {section}{\numberline {2.16}XML Schema 1.0 Simple Types Used in the Component Model}{97}{section.2.16} ! \contentsline {subsection}{\numberline {2.16.1}\textit {NCName} Type}{97}{subsection.2.16.1} ! \contentsline {subsection}{\numberline {2.16.2}\textit {anyURI} Type}{97}{subsection.2.16.2} ! \contentsline {subsection}{\numberline {2.16.3}\textit {QName} Type}{97}{subsection.2.16.3} ! \contentsline {subsection}{\numberline {2.16.4}\textit {boolean} Type}{98}{subsection.2.16.4} ! \contentsline {section}{\numberline {2.17}Equivalence of Components}{98}{section.2.17} ! \contentsline {section}{\numberline {2.18}Symbol Spaces}{98}{section.2.18} ! \contentsline {section}{\numberline {2.19}QName resolution}{99}{section.2.19} ! \contentsline {section}{\numberline {2.20}Comparing URIs}{99}{section.2.20} ! \contentsline {chapter}{\numberline {3}Types}{100}{chapter.3} ! \contentsline {section}{\numberline {3.1}Using W3C XML Schema Description Language}{101}{section.3.1} ! \contentsline {subsection}{\numberline {3.1.1}Importing XML Schema}{102}{subsection.3.1.1} ! \contentsline {subsubsection}{\texttt {namespace} \textit {attribute information item}}{102}{section*.45} ! \contentsline {subsubsection}{\texttt {schemaLocation} \textit {attribute information item}}{103}{section*.46} ! \contentsline {subsection}{\numberline {3.1.2}Embedding XML Schema}{103}{subsection.3.1.2} ! \contentsline {subsubsection}{\texttt {targetNamespace} \textit {attribute information item}}{104}{section*.47} ! \contentsline {subsection}{\numberline {3.1.3}References to Element Declarations and Type Definitions}{104}{subsection.3.1.3} ! \contentsline {section}{\numberline {3.2}Using Other Schema Languages}{105}{section.3.2} ! \contentsline {chapter}{\numberline {4}Modularizing WSDL descriptions}{106}{chapter.4} ! \contentsline {section}{\numberline {4.1}Including Descriptions}{106}{section.4.1} ! \contentsline {subsection}{\numberline {4.1.1}\texttt {location} \textit {attribute information item} with \texttt {include} [owner element]}{107}{subsection.4.1.1} ! \contentsline {section}{\numberline {4.2}Importing Descriptions}{108}{section.4.2} ! \contentsline {subsection}{\numberline {4.2.1}\texttt {namespace} \textit {attribute information item}}{109}{subsection.4.2.1} ! \contentsline {subsection}{\numberline {4.2.2}\texttt {location} \textit {attribute information item} with \texttt {import} [owner element]}{110}{subsection.4.2.2} ! \contentsline {chapter}{\numberline {5}Documentation}{111}{chapter.5} ! \contentsline {chapter}{\numberline {6}Language Extensibility}{112}{chapter.6} ! \contentsline {section}{\numberline {6.1}Element based Extensibility}{112}{section.6.1} ! \contentsline {subsection}{\numberline {6.1.1}Mandatory extensions}{113}{subsection.6.1.1} ! \contentsline {subsection}{\numberline {6.1.2}\texttt {required} \textit {attribute information item}}{114}{subsection.6.1.2} ! \contentsline {section}{\numberline {6.2}Attribute-based Extensibility}{114}{section.6.2} ! \contentsline {section}{\numberline {6.3}Extensibility Semantics}{114}{section.6.3} ! \contentsline {chapter}{\numberline {7}Locating WSDL Documents}{116}{chapter.7} ! \contentsline {section}{\numberline {7.1}\texttt {wsdli:wsdlLocation} \textit {attribute information item}}{116}{section.7.1} ! \contentsline {chapter}{\numberline {8}Conformance}{117}{chapter.8} ! \contentsline {section}{\numberline {8.1}XML Information Set Conformance}{117}{section.8.1} ! \contentsline {chapter}{\numberline {9}XML Syntax Summary (Non-Normative)}{118}{chapter.9} ! \contentsline {chapter}{\numberline {10}References}{122}{chapter.10} ! \contentsline {section}{\numberline {10.1}Normative References}{122}{section.10.1} ! \contentsline {section}{\numberline {10.2}Informative References}{124}{section.10.2} ! \contentsline {chapter}{\numberline {A}The application/wsdl+xml Media Type}{127}{appendix.A} ! \contentsline {section}{\numberline {A.1}Registration}{127}{section.A.1} ! \contentsline {section}{\numberline {A.2}Fragment Identifiers}{128}{section.A.2} ! \contentsline {subsection}{\numberline {A.2.1}wsdl.interface(\textit {interface})}{130}{subsection.A.2.1} ! \contentsline {subsection}{\numberline {A.2.2}wsdl.interfaceFault(\textit {interface}/\textit {fault})}{130}{subsection.A.2.2} ! \contentsline {subsection}{\numberline {A.2.3}wsdl.interfaceOperation(\textit {interface}/\textit {operation})}{130}{subsection.A.2.3} ! \contentsline {subsection}{\numberline {A.2.4}wsdl.messageReference(\textit {interface}/\textit {operation}/\textit {message})}{130}{subsection.A.2.4} ! \contentsline {subsection}{\numberline {A.2.5}wsdl.faultReference(\textit {interface}/\textit {operation}/\textit {message}/\textit {fault})}{130}{subsection.A.2.5} ! \contentsline {subsection}{\numberline {A.2.6}wsdl.binding(\textit {binding})}{131}{subsection.A.2.6} ! \contentsline {subsection}{\numberline {A.2.7}wsdl.bindingFault(\textit {binding}/\textit {fault})}{131}{subsection.A.2.7} ! \contentsline {subsection}{\numberline {A.2.8}wsdl.bindingOperation(\textit {binding}/\textit {operation})}{131}{subsection.A.2.8} ! \contentsline {subsection}{\numberline {A.2.9}wsdl.bindingMessageReference(\textit {binding}/\textit {operation}/\textit {message})}{131}{subsection.A.2.9} ! \contentsline {subsection}{\numberline {A.2.10}wsdl.bindingFaultReference(\textit {binding}/\textit {operation}/\textit {fault}/\textit {message})}{131}{subsection.A.2.10} ! \contentsline {subsection}{\numberline {A.2.11} wsdl.service(\textit {service}) }{132}{subsection.A.2.11} ! \contentsline {subsection}{\numberline {A.2.12}wsdl.endpoint(\textit {service}/\textit {endpoint})}{132}{subsection.A.2.12} ! \contentsline {subsection}{\numberline {A.2.13}wsdl.feature(\textit {parent}/\textit {feature})}{132}{subsection.A.2.13} ! \contentsline {subsection}{\numberline {A.2.14}wsdl.property(\textit {parent}/\textit {property})}{132}{subsection.A.2.14} ! \contentsline {subsection}{\numberline {A.2.15}wsdl.extension(\textit {extension-namespace}, \textit {extension-specific-syntax})}{132}{subsection.A.2.15} ! \contentsline {section}{\numberline {A.3}Security considerations}{133}{section.A.3} ! \contentsline {chapter}{\numberline {B}Acknowledgements (Non-Normative)}{134}{appendix.B} ! \contentsline {chapter}{\numberline {C}URI References for WSDL Components (Non-Normative)}{136}{appendix.C} ! \contentsline {section}{\numberline {C.1}WSDL URIs}{136}{section.C.1} ! \contentsline {section}{\numberline {C.2}Example}{137}{section.C.2} ! \contentsline {chapter}{\numberline {D}Migrating from WSDL 1.1 to WSDL 2.0 (Non-Normative)}{138}{appendix.D} ! \contentsline {section}{\numberline {D.1}Operation Overloading}{138}{section.D.1} ! \contentsline {section}{\numberline {D.2}PortTypes}{138}{section.D.2} ! \contentsline {section}{\numberline {D.3}Ports}{138}{section.D.3} ! \contentsline {section}{\numberline {D.4}Single Interface per Service}{138}{section.D.4} ! \contentsline {chapter}{\numberline {E}Examples of Specifications of Extension Elements for Alternative Schema Language Support. (Non-Normative)}{140}{appendix.E} ! \contentsline {section}{\numberline {E.1}DTD}{140}{section.E.1} ! \contentsline {subsection}{\numberline {E.1.1}\texttt {namespace} \textit {attribute information item}}{141}{subsection.E.1.1} ! \contentsline {subsection}{\numberline {E.1.2}\texttt {location} \textit {attribute information item}}{141}{subsection.E.1.2} ! \contentsline {subsection}{\numberline {E.1.3}References to Element Definitions}{141}{subsection.E.1.3} ! \contentsline {section}{\numberline {E.2}RELAX NG}{141}{section.E.2} ! \contentsline {subsection}{\numberline {E.2.1}Importing RELAX NG}{142}{subsection.E.2.1} ! \contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{142}{section*.48} ! \contentsline {subsubsection}{\texttt {href} \textit {attribute information item}}{142}{section*.49} ! \contentsline {subsection}{\numberline {E.2.2}Embedding RELAX NG}{143}{subsection.E.2.2} ! \contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{143}{section*.50} ! \contentsline {subsection}{\numberline {E.2.3}References to Element Declarations}{143}{subsection.E.2.3} ! \contentsline {chapter}{\numberline {F}Part 1 Change Log (Non-Normative)}{144}{appendix.F} ! \contentsline {section}{\numberline {F.1}WSDL Specification Changes}{144}{section.F.1} --- 22,199 ---- \contentsline {subsection}{\numberline {2.2.2}XML Representation of Interface Component}{34}{subsection.2.2.2} \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {interface} [owner element]}{35}{section*.4} ! \contentsline {subsubsection}{\texttt {extends} \textit {attribute information item}}{36}{section*.5} ! \contentsline {subsubsection}{\texttt {styleDefault} \textit {attribute information item}}{36}{section*.6} ! \contentsline {subsection}{\numberline {2.2.3}Mapping Interface's XML Representation to Component Properties}{36}{subsection.2.2.3} ! \contentsline {section}{\numberline {2.3}Interface Fault}{37}{section.2.3} ! \contentsline {subsection}{\numberline {2.3.1}The Interface Fault Component}{37}{subsection.2.3.1} ! \contentsline {subsection}{\numberline {2.3.2}XML Representation of Interface Fault Component}{39}{subsection.2.3.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {fault} [owner element]}{40}{section*.7} \contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {fault} [owner element]}{40}{section*.8} ! \contentsline {subsection}{\numberline {2.3.3}Mapping Interface Fault's XML Representation to Component Properties}{41}{subsection.2.3.3} \contentsline {section}{\numberline {2.4}Interface Operation}{41}{section.2.4} \contentsline {subsection}{\numberline {2.4.1}The Interface Operation Component}{41}{subsection.2.4.1} ! \contentsline {subsubsection}{Operation Style}{44}{section*.9} ! \contentsline {subsection}{\numberline {2.4.2}XML Representation of Interface Operation Component}{45}{subsection.2.4.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {operation} [owner element]}{46}{section*.10} \contentsline {subsubsection}{\texttt {pattern} \textit {attribute information item} with \texttt {operation} [owner element]}{46}{section*.11} ! \contentsline {subsubsection}{\texttt {style} \textit {attribute information item} with \texttt {operation} [owner element]}{47}{section*.12} ! \contentsline {subsubsection}{\texttt {safe} \textit {attribute information item} with \texttt {operation} [owner element]}{47}{section*.13} ! \contentsline {subsection}{\numberline {2.4.3}Mapping Interface Operation's XML Representation to Component Properties}{47}{subsection.2.4.3} ! \contentsline {section}{\numberline {2.5}Message Reference}{48}{section.2.5} ! \contentsline {subsection}{\numberline {2.5.1}The Message Reference Component}{48}{subsection.2.5.1} \contentsline {subsection}{\numberline {2.5.2}XML Representation of Message Reference Component}{50}{subsection.2.5.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner element]}{52}{section*.14} ! \contentsline {subsubsection}{\texttt {element} \textit {attribute information item} with \texttt {input}, or \texttt {output} [owner element]}{52}{section*.15} ! \contentsline {subsection}{\numberline {2.5.3}Mapping Message Reference's XML Representation to Component Properties}{52}{subsection.2.5.3} ! \contentsline {section}{\numberline {2.6}Fault Reference}{53}{section.2.6} ! \contentsline {subsection}{\numberline {2.6.1}The Fault Reference Component}{53}{subsection.2.6.1} ! \contentsline {subsection}{\numberline {2.6.2}XML Representation of Fault Reference}{55}{subsection.2.6.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner element]}{56}{section*.16} \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {infault}, or \texttt {outfault} [owner element]}{56}{section*.17} ! \contentsline {subsection}{\numberline {2.6.3}Mapping Fault Reference's XML Representation to Component Properties}{57}{subsection.2.6.3} ! \contentsline {section}{\numberline {2.7}Feature}{58}{section.2.7} ! \contentsline {subsection}{\numberline {2.7.1}The Feature Component}{58}{subsection.2.7.1} ! \contentsline {subsubsection}{Feature Composition Model}{59}{section*.18} \contentsline {subsection}{\numberline {2.7.2}XML Representation of Feature Component}{61}{subsection.2.7.2} ! \contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {feature} [owner element]}{62}{section*.19} \contentsline {subsubsection}{\texttt {required} \textit {attribute information item} with \texttt {feature} [owner element]}{62}{section*.20} ! \contentsline {subsection}{\numberline {2.7.3}Mapping Feature's XML Representation to Component Properties}{63}{subsection.2.7.3} ! \contentsline {section}{\numberline {2.8}Property}{63}{section.2.8} ! \contentsline {subsection}{\numberline {2.8.1}The Property Component}{63}{subsection.2.8.1} ! \contentsline {subsubsection}{Property Composition Model}{65}{section*.21} ! \contentsline {subsection}{\numberline {2.8.2}XML Representation of Property Component}{67}{subsection.2.8.2} ! \contentsline {subsubsection}{\texttt {uri} \textit {attribute information item} with \texttt {property} [owner element]}{68}{section*.22} ! \contentsline {subsubsection}{\texttt {value} \textit {element information item} with \texttt {property} [parent]}{68}{section*.23} ! \contentsline {subsubsection}{\texttt {constraint} \textit {element information item} with \texttt {property} [parent]}{69}{section*.24} ! \contentsline {subsection}{\numberline {2.8.3}Mapping Property's XML Representation to Component Properties}{69}{subsection.2.8.3} ! \contentsline {section}{\numberline {2.9}Binding}{70}{section.2.9} ! \contentsline {subsection}{\numberline {2.9.1}The Binding Component}{70}{subsection.2.9.1} ! \contentsline {subsection}{\numberline {2.9.2}XML Representation of Binding Component}{72}{subsection.2.9.2} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {binding} [owner element]}{73}{section*.25} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {binding} [owner element]}{73}{section*.26} ! \contentsline {subsubsection}{\texttt {type} \textit {attribute information item} with \texttt {binding} [owner element]}{73}{section*.27} ! \contentsline {subsubsection}{Binding extension elements}{74}{section*.28} ! \contentsline {subsection}{\numberline {2.9.3}Mapping Binding's XML Representation to Component Properties}{74}{subsection.2.9.3} ! \contentsline {section}{\numberline {2.10}Binding Fault}{74}{section.2.10} ! \contentsline {subsection}{\numberline {2.10.1}The Binding Fault Component}{74}{subsection.2.10.1} ! \contentsline {subsection}{\numberline {2.10.2}XML Representation of Binding Fault Component}{76}{subsection.2.10.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {fault} [owner element]}{77}{section*.29} ! \contentsline {subsubsection}{Binding Fault extension elements}{77}{section*.30} ! \contentsline {subsection}{\numberline {2.10.3}Mapping Binding Fault's XML Representation to Component Properties}{77}{subsection.2.10.3} ! \contentsline {section}{\numberline {2.11}Binding Operation}{78}{section.2.11} ! \contentsline {subsection}{\numberline {2.11.1}The Binding Operation Component}{78}{subsection.2.11.1} ! \contentsline {subsection}{\numberline {2.11.2}XML Representation of Binding Operation Component}{79}{subsection.2.11.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {operation} [owner element]}{80}{section*.31} ! \contentsline {subsubsection}{Binding Operation extension elements}{81}{section*.32} ! \contentsline {subsection}{\numberline {2.11.3}Mapping Binding Operation's XML Representation to Component Properties}{81}{subsection.2.11.3} ! \contentsline {section}{\numberline {2.12}Binding Message Reference}{81}{section.2.12} ! \contentsline {subsection}{\numberline {2.12.1}The Binding Message Reference Component}{81}{subsection.2.12.1} ! \contentsline {subsection}{\numberline {2.12.2}XML Representation of Binding Message Reference Component}{82}{subsection.2.12.2} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {input} or \texttt {output} [owner element]}{84}{section*.33} ! \contentsline {subsubsection}{Binding Message Reference extension elements}{84}{section*.34} ! \contentsline {subsection}{\numberline {2.12.3}Mapping Binding Message Reference's XML Representation to Component Properties}{84}{subsection.2.12.3} ! \contentsline {section}{\numberline {2.13}Binding Fault Reference}{85}{section.2.13} ! \contentsline {subsection}{\numberline {2.13.1}The Binding Fault Reference Component}{85}{subsection.2.13.1} ! \contentsline {subsection}{\numberline {2.13.2}XML Representation of Binding Fault Reference Component}{86}{subsection.2.13.2} ! \contentsline {subsubsection}{\texttt {ref} \textit {attribute information item} with \texttt {infault} or \texttt {outfault} [owner element]}{87}{section*.35} ! \contentsline {subsubsection}{\texttt {messageLabel} \textit {attribute information item} with \texttt {infault} or \texttt {outfault} [owner element]}{88}{section*.36} ! \contentsline {subsubsection}{Binding Fault Reference extension elements}{88}{section*.37} ! \contentsline {subsection}{\numberline {2.13.3}Mapping Binding Fault Reference's XML Representation to Component Properties}{88}{subsection.2.13.3} ! \contentsline {section}{\numberline {2.14}Service}{89}{section.2.14} ! \contentsline {subsection}{\numberline {2.14.1}The Service Component}{89}{subsection.2.14.1} ! \contentsline {subsubsection}{Operation Name Mapping Requirement}{90}{section*.38} ! \contentsline {subsection}{\numberline {2.14.2}XML Representation of Service Component}{91}{subsection.2.14.2} ! \contentsline {subsubsection}{Service References}{92}{section*.39} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {service} [owner element]}{92}{section*.40} ! \contentsline {subsubsection}{\texttt {interface} \textit {attribute information item} with \texttt {service} [owner element]}{93}{section*.41} ! \contentsline {subsection}{\numberline {2.14.3}Mapping Service's XML Representation to Component Properties}{93}{subsection.2.14.3} ! \contentsline {section}{\numberline {2.15}Endpoint}{94}{section.2.15} ! \contentsline {subsection}{\numberline {2.15.1}The Endpoint Component}{94}{subsection.2.15.1} ! \contentsline {subsection}{\numberline {2.15.2}XML Representation of Endpoint Component}{95}{subsection.2.15.2} ! \contentsline {subsubsection}{Endpoint References}{96}{section*.42} ! \contentsline {subsubsection}{\texttt {name} \textit {attribute information item} with \texttt {endpoint} [owner element]}{96}{section*.43} ! \contentsline {subsubsection}{\texttt {binding} \textit {attribute information item} with \texttt {endpoint} [owner element]}{97}{section*.44} ! \contentsline {subsubsection}{\texttt {address} \textit {attribute information item} with \texttt {endpoint} [owner element]}{97}{section*.45} ! \contentsline {subsubsection}{Endpoint extension elements}{97}{section*.46} ! \contentsline {subsection}{\numberline {2.15.3}Mapping Endpoint's XML Representation to Component Properties}{97}{subsection.2.15.3} ! \contentsline {section}{\numberline {2.16}XML Schema 1.0 Simple Types Used in the Component Model}{98}{section.2.16} ! \contentsline {subsection}{\numberline {2.16.1}\textit {NCName} Type}{98}{subsection.2.16.1} ! \contentsline {subsection}{\numberline {2.16.2}\textit {anyURI} Type}{98}{subsection.2.16.2} ! \contentsline {subsection}{\numberline {2.16.3}\textit {QName} Type}{99}{subsection.2.16.3} ! \contentsline {subsection}{\numberline {2.16.4}\textit {boolean} Type}{99}{subsection.2.16.4} ! \contentsline {section}{\numberline {2.17}Equivalence of Components}{99}{section.2.17} ! \contentsline {section}{\numberline {2.18}Symbol Spaces}{100}{section.2.18} ! \contentsline {section}{\numberline {2.19}QName resolution}{100}{section.2.19} ! \contentsline {section}{\numberline {2.20}Comparing URIs}{100}{section.2.20} ! \contentsline {chapter}{\numberline {3}Types}{102}{chapter.3} ! \contentsline {section}{\numberline {3.1}Using W3C XML Schema Description Language}{103}{section.3.1} ! \contentsline {subsection}{\numberline {3.1.1}Importing XML Schema}{104}{subsection.3.1.1} ! \contentsline {subsubsection}{\texttt {namespace} \textit {attribute information item}}{104}{section*.47} ! \contentsline {subsubsection}{\texttt {schemaLocation} \textit {attribute information item}}{105}{section*.48} ! \contentsline {subsection}{\numberline {3.1.2}Embedding XML Schema}{105}{subsection.3.1.2} ! \contentsline {subsubsection}{\texttt {targetNamespace} \textit {attribute information item}}{106}{section*.49} ! \contentsline {subsection}{\numberline {3.1.3}References to Element Declarations and Type Definitions}{106}{subsection.3.1.3} ! \contentsline {section}{\numberline {3.2}Using Other Schema Languages}{107}{section.3.2} ! \contentsline {chapter}{\numberline {4}Modularizing WSDL descriptions}{108}{chapter.4} ! \contentsline {section}{\numberline {4.1}Including Descriptions}{108}{section.4.1} ! \contentsline {subsection}{\numberline {4.1.1}\texttt {location} \textit {attribute information item} with \texttt {include} [owner element]}{109}{subsection.4.1.1} ! \contentsline {section}{\numberline {4.2}Importing Descriptions}{110}{section.4.2} ! \contentsline {subsection}{\numberline {4.2.1}\texttt {namespace} \textit {attribute information item}}{111}{subsection.4.2.1} ! \contentsline {subsection}{\numberline {4.2.2}\texttt {location} \textit {attribute information item} with \texttt {import} [owner element]}{112}{subsection.4.2.2} ! \contentsline {chapter}{\numberline {5}Documentation}{113}{chapter.5} ! \contentsline {chapter}{\numberline {6}Language Extensibility}{114}{chapter.6} ! \contentsline {section}{\numberline {6.1}Element based Extensibility}{114}{section.6.1} ! \contentsline {subsection}{\numberline {6.1.1}Mandatory extensions}{115}{subsection.6.1.1} ! \contentsline {subsection}{\numberline {6.1.2}\texttt {required} \textit {attribute information item}}{116}{subsection.6.1.2} ! \contentsline {section}{\numberline {6.2}Attribute-based Extensibility}{116}{section.6.2} ! \contentsline {section}{\numberline {6.3}Extensibility Semantics}{116}{section.6.3} ! \contentsline {chapter}{\numberline {7}Locating WSDL Documents}{118}{chapter.7} ! \contentsline {section}{\numberline {7.1}\texttt {wsdli:wsdlLocation} \textit {attribute information item}}{118}{section.7.1} ! \contentsline {chapter}{\numberline {8}Conformance}{119}{chapter.8} ! \contentsline {section}{\numberline {8.1}XML Information Set Conformance}{119}{section.8.1} ! \contentsline {chapter}{\numberline {9}XML Syntax Summary (Non-Normative)}{120}{chapter.9} ! \contentsline {chapter}{\numberline {10}References}{124}{chapter.10} ! \contentsline {section}{\numberline {10.1}Normative References}{124}{section.10.1} ! \contentsline {section}{\numberline {10.2}Informative References}{126}{section.10.2} ! \contentsline {chapter}{\numberline {A}The application/wsdl+xml Media Type}{129}{appendix.A} ! \contentsline {section}{\numberline {A.1}Registration}{129}{section.A.1} ! \contentsline {section}{\numberline {A.2}Fragment Identifiers}{130}{section.A.2} ! \contentsline {subsection}{\numberline {A.2.1}wsdl.interface(\textit {interface})}{132}{subsection.A.2.1} ! \contentsline {subsection}{\numberline {A.2.2}wsdl.interfaceFault(\textit {interface}/\textit {fault})}{132}{subsection.A.2.2} ! \contentsline {subsection}{\numberline {A.2.3}wsdl.interfaceOperation(\textit {interface}/\textit {operation})}{132}{subsection.A.2.3} ! \contentsline {subsection}{\numberline {A.2.4}wsdl.messageReference(\textit {interface}/\textit {operation}/\textit {message})}{132}{subsection.A.2.4} ! \contentsline {subsection}{\numberline {A.2.5}wsdl.faultReference(\textit {interface}/\textit {operation}/\textit {message}/\textit {fault})}{132}{subsection.A.2.5} ! \contentsline {subsection}{\numberline {A.2.6}wsdl.binding(\textit {binding})}{133}{subsection.A.2.6} ! \contentsline {subsection}{\numberline {A.2.7}wsdl.bindingFault(\textit {binding}/\textit {fault})}{133}{subsection.A.2.7} ! \contentsline {subsection}{\numberline {A.2.8}wsdl.bindingOperation(\textit {binding}/\textit {operation})}{133}{subsection.A.2.8} ! \contentsline {subsection}{\numberline {A.2.9}wsdl.bindingMessageReference(\textit {binding}/\textit {operation}/\textit {message})}{133}{subsection.A.2.9} ! \contentsline {subsection}{\numberline {A.2.10}wsdl.bindingFaultReference(\textit {binding}/\textit {operation}/\textit {fault}/\textit {message})}{133}{subsection.A.2.10} ! \contentsline {subsection}{\numberline {A.2.11} wsdl.service(\textit {service}) }{134}{subsection.A.2.11} ! \contentsline {subsection}{\numberline {A.2.12}wsdl.endpoint(\textit {service}/\textit {endpoint})}{134}{subsection.A.2.12} ! \contentsline {subsection}{\numberline {A.2.13}wsdl.feature(\textit {parent}/\textit {feature})}{134}{subsection.A.2.13} ! \contentsline {subsection}{\numberline {A.2.14}wsdl.property(\textit {parent}/\textit {property})}{134}{subsection.A.2.14} ! \contentsline {subsection}{\numberline {A.2.15}wsdl.extension(\textit {extension-namespace}, \textit {extension-specific-syntax})}{134}{subsection.A.2.15} ! \contentsline {section}{\numberline {A.3}Security considerations}{135}{section.A.3} ! \contentsline {chapter}{\numberline {B}Acknowledgements (Non-Normative)}{136}{appendix.B} ! \contentsline {chapter}{\numberline {C}URI References for WSDL Components (Non-Normative)}{138}{appendix.C} ! \contentsline {section}{\numberline {C.1}WSDL URIs}{138}{section.C.1} ! \contentsline {section}{\numberline {C.2}Example}{139}{section.C.2} ! \contentsline {chapter}{\numberline {D}Migrating from WSDL 1.1 to WSDL 2.0 (Non-Normative)}{140}{appendix.D} ! \contentsline {section}{\numberline {D.1}Operation Overloading}{140}{section.D.1} ! \contentsline {section}{\numberline {D.2}PortTypes}{140}{section.D.2} ! \contentsline {section}{\numberline {D.3}Ports}{140}{section.D.3} ! \contentsline {section}{\numberline {D.4}Single Interface per Service}{140}{section.D.4} ! \contentsline {chapter}{\numberline {E}Examples of Specifications of Extension Elements for Alternative Schema Language Support. (Non-Normative)}{142}{appendix.E} ! \contentsline {section}{\numberline {E.1}DTD}{142}{section.E.1} ! \contentsline {subsection}{\numberline {E.1.1}\texttt {namespace} \textit {attribute information item}}{143}{subsection.E.1.1} ! \contentsline {subsection}{\numberline {E.1.2}\texttt {location} \textit {attribute information item}}{143}{subsection.E.1.2} ! \contentsline {subsection}{\numberline {E.1.3}References to Element Definitions}{143}{subsection.E.1.3} ! \contentsline {section}{\numberline {E.2}RELAX NG}{143}{section.E.2} ! \contentsline {subsection}{\numberline {E.2.1}Importing RELAX NG}{144}{subsection.E.2.1} ! \contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{144}{section*.50} ! \contentsline {subsubsection}{\texttt {href} \textit {attribute information item}}{144}{section*.51} ! \contentsline {subsection}{\numberline {E.2.2}Embedding RELAX NG}{145}{subsection.E.2.2} ! \contentsline {subsubsection}{\texttt {ns} \textit {attribute information item}}{145}{section*.52} ! \contentsline {subsection}{\numberline {E.2.3}References to Element Declarations}{145}{subsection.E.2.3} ! \contentsline {chapter}{\numberline {F}Part 1 Change Log (Non-Normative)}{146}{appendix.F} ! \contentsline {section}{\numberline {F.1}WSDL Specification Changes}{146}{section.F.1} Index: wsdl20.xml =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xml,v retrieving revision 1.227 retrieving revision 1.228 diff -C2 -d -r1.227 -r1.228 *** wsdl20.xml 30 Apr 2005 13:35:20 -0000 1.227 --- wsdl20.xml 1 May 2005 12:20:08 -0000 1.228 *************** *** 6432,6447 **** </ulist> ! <p>Note that the XML Schema <bibref ref="XMLSchemaP1"/> type of the ! &EII; <el>service</el> as defined in the WSDL schema MAY be used as the basis for defining new elements which can be used ! as service references in message exchanges. To enable such reuse, the WSDL schema defines the &AII; <att>name</att> as ! optional in the type of the &EII; <el>service</el>, while it is REQUIRED for the &EII; <el>service</el> as indicated ! above.</p> <note><p>See the primer <bibref ref="WSDL-PART0"/> for more information and examples.</p></note> <div4 id="Service_name_attribute"> --- 6432,6456 ---- </ulist> + <div4 id="Service_references"> + <head>Service References</head> ! <p diff="chg">Note that <el>ServiceType</el>, which is the XML Schema <bibref ref="XMLSchemaP1"/> complex type of the ! &EII; <el>service</el> as defined in the WSDL schema, MAY be used as the basis for defining new elements which can be used ! as service references in message exchanges. ! In the case that the message contains a reference to a service ! that implements a known interface, an element whose type ! restricts the complex type <el>ServiceType</el> to have a fixed value for the ! &AII; <att>interface</att> MAY be used. ! To enable such reuse, the WSDL schema defines the &AII; <att>name</att> as ! optional in complex type <el>ServiceType</el>, while it is REQUIRED for the &EII; <el>service</el> as indicated ! above. ! </p> <note><p>See the primer <bibref ref="WSDL-PART0"/> for more information and examples.</p></note> + </div4> <div4 id="Service_name_attribute"> *************** *** 6729,6732 **** --- 6738,6763 ---- </ulist> + <div4 id="Endpoint_references"> + <head>Endpoint References</head> + + <p diff="chg">Note that <el>EndpointType</el>, which is the XML Schema <bibref ref="XMLSchemaP1"/> complex type of the + &EII; <el>endpoint</el> as defined in the WSDL schema, MAY be + used as the basis for defining new elements which can be used + as endpoint references in message exchanges. + In the case that the message contains a reference to an endpoint + that implements a known binding, an element whose type + restricts the complex type <el>EndpointType</el> to have a fixed value for the + &AII; <att>binding</att> MAY be used. + To enable such + reuse, the WSDL schema defines the &AII; <att>name</att> as + optional in complex type <el>EndpointType</el>, while it + is REQUIRED for the &EII; <el>endpoint</el> as indicated + above. + </p> + + <note><p>See the primer <bibref ref="WSDL-PART0"/> for more + information and examples.</p></note> + </div4> + <div4 id="Endpoint_name_attribute"> <head><att>name</att> &AII; with <el>endpoint</el> [owner element]</head> *************** *** 9491,9494 **** --- 9522,9532 ---- <th>Description</th> </tr> + + <tr> + <td>20050430</td> + <td>AGR</td> + <td><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC117">LC117</loc>: + Added use of EndpointType for endpoint references.</td> + </tr> <tr> Index: wsdl20-z.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-z.html,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** wsdl20-z.html 29 Apr 2005 19:42:03 -0000 1.24 --- wsdl20-z.html 1 May 2005 12:20:06 -0000 1.25 *************** *** 1,15 **** ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ! "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ! <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> ! <head> ! <meta name="generator" content= ! "HTML Tidy for Linux/x86 (vers 1st July 2004), see www.w3.org" /> ! <meta http-equiv="Content-Type" content= ! "text/html; charset=utf-8" /> ! <title>Web Services Description Language (WSDL) Version 2.0 Part 1: ! Core Language</title> [...25194 lines suppressed...] ! <tr> ! <td rowspan="1" colspan="1">20020620</td> ! <td rowspan="1" colspan="1">SW</td> ! <td rowspan="1" colspan="1">Started adding abstract model</td> ! </tr> ! <tr> ! <td rowspan="1" colspan="1">20020406</td> ! <td rowspan="1" colspan="1">SW</td> ! <td rowspan="1" colspan="1">Created document from WSDL 1.1</td> ! </tr> ! </tbody> ! </table><br> ! ! </div> ! </div> ! ! </div> ! ! </body></html> \ No newline at end of file Index: wsdl20.pdf =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.pdf,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** wsdl20.pdf 22 Apr 2005 06:51:32 -0000 1.31 --- wsdl20.pdf 1 May 2005 12:20:06 -0000 1.32 *************** *** 898,908 **** endobj 605 0 obj << ! /Length 991 /Filter /FlateDecode >> stream ! xÚVKoÛ8¾ûWèP`% ¢Dê“[;»H6ZÇØÚ‹±ÕÊ’CI1üïwfH9)’ÞEæ Ýò¸£C~a¢]Z¼‹ú-äÑH‘°Ž¶ÄŠ·±J;w¥ÇÔ¨rg¦vG<~`5ž½$ŠbÜ{yl •–88ü‘Z6Ò¢ g“™uJjC‰@Nsòê–´\Jh5„[;ÕÐTue‹+ë®5‚6¼a-jS ! 4»ÛoÇòtv§¡Ýo¨ITÙ›!œµy|½9Þžx%ƱËÌ…{…4–˜íìzau«ªÅ7Ñ.?bj#/q ! mu:Ã}©:¥MJ•N²1 '"wðDR~=“ÔùŠækn±z-Kµ£õ'jbz\›Ò@ý:aM¨šôP+ËJî÷8TG/OLã'W«É¿ê$Dendstream endobj [...28166 lines suppressed...] ! 0000814634 00000 n ! 0000814760 00000 n ! 0000814886 00000 n ! 0000814985 00000 n ! 0000815086 00000 n ! 0000829249 00000 n ! 0000848434 00000 n ! 0000848475 00000 n ! 0000848515 00000 n ! 0000848707 00000 n trailer << ! /Size 2887 ! /Root 2885 0 R ! /Info 2886 0 R ! /ID [<BCCC89DBFADB2F942A9A230133C30C42> <BCCC89DBFADB2F942A9A230133C30C42>] >> startxref ! 848955 %%EOF Index: wsdl20-primer.xml =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-primer.xml,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** wsdl20-primer.xml 30 Apr 2005 14:24:56 -0000 1.75 --- wsdl20-primer.xml 1 May 2005 12:20:08 -0000 1.76 *************** *** 100,104 **** <p>Section 3 gives more information on defining message types.</p><p>Section 4 gives more information on interfaces.</p><p>Section 5 gives more information on bindings.</p><p>Section 6 gives more information on defining services.</p> ! <p>Section 5 covers various advanced topics, including features and properties, flexible authoring styles, service references, use of URIs, etc. </p> </div2><div2 id="notation"> --- 100,104 ---- <p>Section 3 gives more information on defining message types.</p><p>Section 4 gives more information on interfaces.</p><p>Section 5 gives more information on bindings.</p><p>Section 6 gives more information on defining services.</p> ! <p>Section 5 covers various advanced topics, including features and properties, flexible authoring styles, service and endpoint references, use of URIs, etc. </p> </div2><div2 id="notation"> *************** *** 1587,1594 **** <div2 id="adv-service-references"> ! <head>Service References</head> - <ednote><name>Kliu</name><date>2005-04-26</date><edtext>This section might be broken. It's pending on resolution of <xspecref href="http://www.w3.org/2002/ws/desc/4/lc-issues/#LC117">Last Call issue LC117</xspecref>. </edtext></ednote> - <p> Hyperlinking is one of the defining characteristics --- 1587,1592 ---- <div2 id="adv-service-references"> ! <head>Service and Endpoint References</head> <p> Hyperlinking is one of the defining characteristics *************** *** 1597,1604 **** natural to apply this capability to Web services. This section describes ! <emph>service references</emph>, which are the Web service analogs of document hyperlinks. ! </p><p>One may wonder, from a Web architectural point of view, why anything more than a URI would be needed to reference a Web service. Indeed, a service reference does make use of a URI to indicate the endpoint address of a service. However, it may also include additional metadata about that service, such as the WSDL 2.0 interface and binding that the service supports.</p><p>Services references will be illustrated by expanding the GreatH example already discussed.</p> <div3 id="reservationDetails"><head>The Reservation Details Web Service</head> --- 1595,1618 ---- natural to apply this capability to Web services. This section describes ! <emph>service references</emph> and <emph>endpoint references</emph>, which are the Web service analogs of document hyperlinks. ! </p> ! ! <p> ! One may wonder, from a Web architectural point of ! view, why anything more than a URI would be needed ! to reference a Web service. Indeed, a service ! reference does make use of a URI to indicate the ! endpoint address of a service. However, it may also ! include additional metadata about that service, ! such as the WSDL 2.0 interface and binding that the ! service supports. ! </p> ! ! <p> ! Service and endpoint references will be illustrated ! by expanding the GreatH example already discussed. ! </p> <div3 id="reservationDetails"><head>The Reservation Details Web Service</head> *************** *** 1615,1619 **** http://greath.example.com/2004/reservation/OMX736. This URI will be the endpoint address for a ! Reservation Detail Web service that can retrieve and update the state of a reservation. <specref ref="reservationDetails-OMX736.xml"/> --- 1629,1633 ---- http://greath.example.com/2004/reservation/OMX736. This URI will be the endpoint address for a ! Reservation Details Web service that can retrieve and update the state of a reservation. <specref ref="reservationDetails-OMX736.xml"/> *************** *** 1636,1647 **** </example> ! <p> ! The Reservation Details Web service provides operations for retrieving and updating the detail for a reservation. ! <specref ref="reservationDetails.wsdl"/> shows the description for this Web service. ! Note that there is no <code>wsdl:service</code> element in this description since the set of reservations is dynamic. ! Instead, the endpoints for the reservations will be returned by querying the Reservation List Web service. ! </p> ! <example id="reservationDetails.wsdl"> <head>The Reservation Details Web Service Description: reservationDetails.wsdl</head> <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> --- 1650,1668 ---- </example> ! <p> ! The Reservation Details Web service provides ! operations for retrieving and updating the detail ! for a reservation. ! <specref ref="reservationDetails.wsdl" /> ! shows the description for this Web service. Note ! that there is no ! <code>wsdl:service</code> ! element in this description since the set of ! reservations is dynamic. Instead, the endpoints for ! the reservations will be returned by querying the ! Reservation List Web service. ! </p> ! <example id="reservationDetails.wsdl"> <head>The Reservation Details Web Service Description: reservationDetails.wsdl</head> <eg><![CDATA[<?xml version="1.0" encoding="utf-8" ?> *************** *** 1702,1706 **** </description> - ]]></eg></example> --- 1723,1726 ---- *************** *** 1720,1727 **** 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"> ! <import namespace="http://www.w3.org/2004/08/wsdl" ! schemaLocation="../../../xmlcatalog/wsdl/wsdl20.xsd" /> <element name="confirmationNumber" type="string" /> --- 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" /> *************** *** 1743,1747 **** </element> ! <complexType name="ReservationDetailsEndpointType"> <complexContent> <restriction base="wsdl:EndpointType"> --- 1765,1769 ---- </element> ! <complexType name="ReservationDetailsSOAPEndpointType"> <complexContent> <restriction base="wsdl:EndpointType"> *************** *** 1752,1764 **** </complexType> <complexType name="ReservationDetailsServiceType"> <complexContent> <restriction base="wsdl:ServiceType"> <sequence> ! <element name="endpoint" ! type="tns:ReservationDetailsEndpointType" /> </sequence> <attribute name="interface" type="QName" use="required" fixed="wdetails:reservationDetailsInterface" /> </restriction> </complexContent> --- 1774,1802 ---- </complexType> + <element name="reservationDetailsSOAPEndpoint" + type="tns:ReservationDetailsSOAPEndpointType"> + <annotation> + <documentation> + This element contains a reference to the Reservation + Details Web Service SOAP Endpoint for this reservation. + </documentation> + </annotation> + </element> + <complexType name="ReservationDetailsServiceType"> <complexContent> <restriction base="wsdl:ServiceType"> <sequence> ! <sequence> ! <element ref='wsdl:documentation' minOccurs='0' ! maxOccurs='0' /> ! </sequence> ! <choice minOccurs='1' maxOccurs='unbounded'> ! <element ref='wsdl:endpoint' /> ! </choice> </sequence> <attribute name="interface" type="QName" use="required" fixed="wdetails:reservationDetailsInterface" /> + <attribute ref="wsdli:wsdlLocation" /> </restriction> </complexContent> *************** *** 1794,1797 **** --- 1832,1841 ---- attribute whose value is the Reservation Details binding, <code>wdetails:reservationDetailsSOAPBinding</code>. + The + <code>reservationDetailsSOAPEndpoint</code> + element is thus a restriction of the + <code>wsdl:endpoint</code> + element that has the binding for the Reservation + Details service. This element will be used in the Reservation List service. </p> *************** *** 1803,1817 **** to have an <code>interface</code> ! attribute whose have is the Reservation Details service interace, ! <code>wdetails:reservationDetailsInterface</code> ! . The <code>reservationDetailsService</code> element is thus a restriction of the <code>wsdl:service</code> ! element that has the interface and binding for the Reservation ! Details service and whose endpoint address is that of the ! corresponding reservation. This element is used in the definition ! of the Reservation List Web service. </p> --- 1847,1892 ---- to have an <code>interface</code> ! attribute whose value is the Reservation Details service interace, ! <code>wdetails:reservationDetailsInterface</code>. The <code>reservationDetailsService</code> element is thus a restriction of the <code>wsdl:service</code> ! element that has the interface for the Reservation Details ! service. Note that the attributes of the ! <code>ReservationDetailsServiceType</code> ! complex type have also been restricted to allow only the ! additional ! <code>wsdli:wsdlLocation</code> ! attribute, which will be used in ! <specref ref="reservationServiceReferences-HSG635.xml" /> ! to specify the location of the WSDL 2.0 document that contains ! the definition of the ! <code>wdetails:reservationDetailsInterface</code> ! interface. ! </p> ! ! <p> ! In general, when you want to describe messages that contain ! endpoint references, you may use elements that are based on the ! <code>wsdl:EndpointType</code> ! complex type. If the bindings of the endpoints are fixed, you ! can define a restriction of the ! <code>wsdl:EndpointType</code> ! complex type that has a fixed value for the ! <code>binding</code> ! attribute. Similarly, when you want to describe messages that ! contain service references, you may use elements that are based ! on the ! <code>wsdl:ServiceType</code> ! complex type. If the interfaces of the services are fixed, you ! can define a restriction of the ! <code>wsdl:ServiceType</code> ! complex type that has a fixed value for the ! <code>interface</code> ! attribute. Note that the rules of XML Schema do not allow ! <code>wsdl:ServiceType</code> to be further restricted ! to have a fixed value for the <code>binding</code> attribute ! of its nested <code>wsdl:endpoint</code> elements. </p> *************** *** 1825,1829 **** Reservation Detail endpoints are not described in a fixed WSDL document. Instead they are ! returned as service references in response to requests made on a Reservation List Web service. The endpoint for the Reservation List service --- 1900,1904 ---- Reservation Detail endpoints are not described in a fixed WSDL document. Instead they are ! returned as endpoint references in response to requests made on a Reservation List Web service. The endpoint for the Reservation List service *************** *** 1832,1857 **** </p> - <ednote> - <name>Arthur</name> - <date>20050326</date> - <edtext> - There is a problem in the current design of - the WSDL schema. At present, the - <code>wsdl:endpoint</code> - element is namespace qualified so it is - impossible to restrict - <code>wsdl:ServiceType</code> - to use the restricted - <code>wsdl:EndPoint</code> - type that has a fixed value for the - <code>binding</code> - attribute. The workaround is to change the - WSDL schema so that - <code>endpoint</code> - has no namespace. For consistency, other - nested elements should also have no - namespace. - </edtext> - </ednote> <p> <specref ref="reservationList-all.xml"/> --- 1907,1910 ---- *************** *** 1864,1871 **** Service</head> <eg> ! <![CDATA[<?xml version="1.0" encoding="UTF-8"?> <reservationList xmlns="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" wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"> --- 1917,1926 ---- Service</head> <eg> ! <![CDATA[<?xml version="1.0" encoding="UTF-8"?> <reservationList xmlns="http://greath.example.com/2004/schemas/reservationList" 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"> *************** *** 1875,1884 **** <details:checkInDate>2005-06-27</details:checkInDate> <details:checkOutDate>2005-06-28</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/HSG635"/> ! </details:reservationDetailsService> </reservation> --- 1930,1936 ---- <details:checkInDate>2005-06-27</details:checkInDate> <details:checkOutDate>2005-06-28</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/HSG635" /> </reservation> *************** *** 1887,1896 **** <details:checkInDate>2005-06-01</details:checkInDate> <details:checkOutDate>2005-06-03</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/OMX736"/> ! </details:reservationDetailsService> </reservation> --- 1939,1945 ---- <details:checkInDate>2005-06-01</details:checkInDate> <details:checkOutDate>2005-06-03</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/OMX736" /> </reservation> *************** *** 1899,1911 **** <details:checkInDate>2005-06-11</details:checkInDate> <details:checkOutDate>2005-06-15</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/WUH663"/> ! </details:reservationDetailsService> </reservation> ! </reservationList>]]></eg> </example> --- 1948,1958 ---- <details:checkInDate>2005-06-11</details:checkInDate> <details:checkOutDate>2005-06-15</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/WUH663" /> </reservation> ! </reservationList> ! ]]></eg> </example> *************** *** 1913,1934 **** Here, the <code> ! <details:reservationDetailsService> </code> ! elements contain service references to the Reservation Details Web services for the reservations HSG635, OMX736, and WUH663. The ! service references given the interface, binding, and endpoint address of each service. In this ! example, all endpoints have the same interface ! and binding, i.e. ! <code> ! wdetails:reservationDetailsInterface ! </code> ! and <code> wdetails:reservationDetailsSOAPBinding ! </code> ! . These QNames identify WSDL 2.0 Interface and ! Binding components that are defined in a WSDL 2.0 document. This example shows the use of the <code>wsdli:wsdlLocation</code> --- 1960,1975 ---- Here, the <code> ! <details:reservationDetailsSOAPEndpoint> </code> ! elements contain endpoint references to the Reservation Details Web services for the reservations HSG635, OMX736, and WUH663. The ! endpoint references give the binding and endpoint address of each service. In this ! example, all endpoints have the same binding, i.e. <code> wdetails:reservationDetailsSOAPBinding ! </code>. This QName identifies the WSDL 2.0 ! Binding component that is defined in a WSDL 2.0 document. This example shows the use of the <code>wsdli:wsdlLocation</code> *************** *** 1941,1945 **** <specref ref="reservationList.wsdl"/> shows the description of the Reservation List ! Web service. Note that is contains operations to retrieve the entire list and to query for a list of reservations by confirmation number, check-in --- 1982,1986 ---- <specref ref="reservationList.wsdl"/> shows the description of the Reservation List ! Web service. Note that it contains operations to retrieve the entire list and to query for a list of reservations by confirmation number, check-in *************** *** 1954,1958 **** </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/reservationList" --- 1995,1999 ---- </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/reservationList" *************** *** 2035,2039 **** </service> ! </description>]]> </eg> </example> --- 2076,2081 ---- </service> ! </description> ! ]]> </eg> </example> *************** *** 2042,2046 **** <example id="reservationList.xsd"> <head>The Reservation List Schema: reservationList.xsd</head> ! <eg><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" --- 2084,2089 ---- <example id="reservationList.xsd"> <head>The Reservation List Schema: reservationList.xsd</head> ! <eg> ! <![CDATA[<?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" *************** *** 2050,2055 **** xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"> ! <import namespace="http://www.w3.org/2004/08/wsdl-instance" ! schemaLocation="../../../xmlcatalog/wsdl/wsdl20-instance.xsd" /> <import --- 2093,2097 ---- xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"> ! <import namespace="http://www.w3.org/2004/08/wsdl-instance" /> <import *************** *** 2070,2074 **** <element ref="details:checkInDate" /> <element ref="details:checkOutDate" /> ! <element ref="details:reservationDetailsService" /> </sequence> </complexType> --- 2112,2116 ---- <element ref="details:checkInDate" /> <element ref="details:checkOutDate" /> ! <element ref="details:reservationDetailsSOAPEndpoint" /> </sequence> </complexType> *************** *** 2095,2098 **** --- 2137,2202 ---- ]]></eg> </example> + + <p> + In the preceeding example, there was a single + endpoint associated with each Reservation Detail + Web service. Suppose GreatH hotel decided to + provide a second, secure endpoint. In this case, + service references would be used to collect + together the endpoints for each reservation. The + reservationDetails.xsd schema defines the + <code>reservationDetailsService</code> + element for this purpose. It restricts the + <code>wsdl:ServiceType</code> + complex type to have a fixed value of + <code>reservationDetailsInterface</code> + for the interface attribute. + </p> + <p> + <specref + ref="reservationServiceReferences-HSG635.xml" /> + shows an example of a message that contains a + service reference for reservation HGS635. Note + that the service contains two endpoints, one of + which provides secure access to the Reservation + Details Web service. Note the use of the + <code>wsdli:wsdlLocation</code> + to provide the location for the WSDL 2.0 + document that defines the + <code> + wdetails:reservationDetailsInterface + </code> + interface and the + <code> + wdetails:reservationDetailsSOAPBinding + </code> + binding. + </p> + + <example id="reservationServiceReferences-HSG635.xml"> + <head>A Service Reference to the Reservation Details Web Service</head> + <eg> + <![CDATA[<?xml version="1.0" encoding="UTF-8"?> + <details:reservationDetailsService interface="wdetails:reservationDetailsInterface" + 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"> + + <wsdl:endpoint + name="SOAP" + binding="wdetails:reservationDetailsSOAPBinding" + address="http://greath.example.com/2004/reservation/HSG635" /> + + <wsdl:endpoint + name="SECURE-SOAP" + binding="wdetails:reservationDetailsSOAPBinding" + address="https://greath.example.com/2004/reservation/HSG635" /> + + </details:reservationDetailsService> + ]]></eg></example> + + </div3> <div3 id="reservationDetails_HTTP"><head>Reservation Details Web Service Using HTTP Transfer</head><p>This section presents a variation on the example in <specref ref="reservationDetails"/>. It illustrates the use of HTTP transfer operations, GET and PUT, to retrieve and update GreatH hotel reservation details using the Representational State Transfer (REST) architectural style described by Roy Fielding <bibref ref="rest"/>. REST is a distillation of the architectural properties that Dr. Fielding identified as being vital to the Web's robustness and enormous scalability. </p><p>Since each reservation in our example will have a distinct URI, the Reservation Details Web Index: wsdl20.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.html,v retrieving revision 1.182 retrieving revision 1.183 diff -C2 -d -r1.182 -r1.183 *** wsdl20.html 29 Apr 2005 22:55:27 -0000 1.182 --- wsdl20.html 1 May 2005 12:20:07 -0000 1.183 *************** *** 95,99 **** output [owner element]</a><br> 2.12.2.2 <a href="#Binding_Message_Reference_extension_elements">Binding Message Reference extension elements</a><br> 2.12.3 <a href="#Binding_Message_Reference_Mapping">Mapping Binding Message Reference's XML Representation to Component Properties</a><br> 2.13 <a href="#Binding_Fault_Reference">Binding Fault Reference</a><br> 2.13.1 <a href="#Binding_Fault_Reference_details">The Binding Fault Reference Component</a><br> 2.13.2 <a href="#Binding_Fault_Reference_XMLRep">XML Representation of Binding Fault Reference Component</a><br> 2.13.2.1 <a href="#Binding_Fault_Reference_ref_attribute">ref attribute information item with infault or outfault [owner element]</a><br> 2.13.2.2 <a href="#Binding_Fault_Reference_messageLabel_attribute">messageLabel attribute information item with infault or ! outfault [owner element]</a><br> 2.13.2.3 <a href="#Binding_Fault_Reference_extension_elements">Binding Fault Reference extension elements</a><br> 2.13.3 <a href="#Binding_Fault_Reference_Mapping">Mapping Binding Fault Reference's XML Representation to Component Properties</a><br> 2.14 <a href="#Service">Service</a><br> 2.14.1 <a href="#Service_details">The Service Component</a><br> 2.14.1.1 <a href="#Service_OperationName">Operation Name Mapping Requirement</a><br> 2.14.2 <a href="#Service_XMLRep">XML Representation of Service Component</a><br> 2.14.2.1 <a href="#Service_name_attribute">name attribute information item with serice [owner element]</a><br> 2.14.2.2 <a href="#Service_interface_attribute">interface attribute information item with service [owner element]</a><br> 2.14.3 <a href="#Service_Mapping">Mapping Service's XML Representation to Component Properties</a><br> 2.15 <a href="#Endpoint">Endpoint</a><br> 2.15.1 <a href="#Endpoint_details">The Endpoint Component</a><br> 2.15.2 <a href="#Endpoint_XMLRep">XML Representation of Endpoint Component</a><br> 2.15.2.1 <a href="#Endpoint_name_attribute">name attribute information item with endpoint [owner element]</a><br> 2.15.2.2 <a href="#Endpoint_binding_attribute">binding attribute information item with ndpoint [owner element]</a><br> 2.15.2.3 <a href="#Endpoint_address_attribute">address attribute information item with endpoint [owner element]</a><br> 2.15.2.4 <a href="#Endpoint_extension_elements">Endpoint extension elements</a><br> 2.15.3 <a href="#Endpoint_Mapping">Mapping Endpoint's XML Representation to Component Properties</a><br> 2.16 <a href="#simpletypes">XML Schema 1.0 Simple Types Used in the Component Model</a><br> 2.16.1 <a href="#ncname_type">NCName Type</a><br> 2.16.2 <a href="#anyuri_type">anyURI Type</a><br> 2.16.3 <a href="#qname_type">QName Type</a><br> 2.16.4 <a href="#boolean_type">boolean Tye</a><br> 2.17 <a href="#compequiv">Equivalence of Components</a><br> 2.18 <a href="#symbolspaces">Symbol Spaces</a><br> 2.19 <a href="#qnameres">QName resolution</a><br> 2.20 <a href="#uricompare">Comparing URIs</a><br>3. <a href="#eii-types">Types</a><br> 3.1 <a href="#xsd-types">Using W3C XML Schema Description Language</a><br> 3.1.1 <a href="#import-xsd">Importing XML Schema</a><br> 3.1.1.1 <a href="#namespace-attribute">namespace attribute information item</a><br> 3.1.1.2 <a href="#schemaLocation-attribute">schemaLocation attribute information item</a><br> 3.1.2 <a href="#embed-xsd">Embedding XML Schema</a><br> nbsp; 3.1.2.1 <a href="#targetNamespace-attribute">targetNamespace attribute information item</a><br> 3.1.3 <a href="#references-definitions">References to Element Declarations and Type Definitions</a><br> 3.2 <a href="#other-types">Using Other Schema Languages</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br> 4.1 <a href="#includes">Including Descriptions</a><br> 4.1.1 <a href="#include_location_attribute">location attribute information item with include [owner element]</a><br> 4.2 <a href="#imports">Importing Descriptions</a><br> 4.2.1 <a href="#import_namespace_attribute">namespace attribute information item</a><br> 4.2.2 <a href="#import_location_attribute">location attribute information item with import [owner elment]</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br> 6.1 <a href="#eii-extensibility">Element based Extensibility</a><br> 6.1.1 <a href="#mandatoryext">Mandatory extensions</a><br> 6.1.2 <a href="#required-aii">required attribute information item</a><br> 6.2 <a href="#aii-extensibility">Attribute-based Extensibility</a><br> 6.3 <a href="#extensibility-semantics">Extensibility Semantics</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br> 7.1 <a href="#wsdlLocation-aii">wsdli:wsdlLocation attribute information item</a><br>8. <a href="#conformance">Conformance</a><br> 8.1 <a href="#infoset">XML Information Set Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="References">References</a><br> 10.1 <a href="#Normative-References">Normative References</a><br> 10.2 <a href="#Informative-References">Informative References</a><br></p> <h3><a id="appendix" name="appendix">Appendices</a></h3><p class="toc">A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br> A.1 <a href="#ietf-reg">Registration</a><br> A.2 <a href="#frag-ids">Fragment Identifiers</a><br> A.2.1 <a href="#wsdl.interface">wsdl.interface(interface)</a><br> A.2.2 <a href="#wsdl.interfaceFault">wsdl.interfaceFault(interface/fault)</a><br> A.2.3 <a href="#wsdl.interfaceOperation">wsdl.interfaceOperation(interface/operation)</a><br> A.2.4 <a href="#wsdl.messageReference">wsdl.messageReference(interface/operation/message)</a><br> A.2.5 <a href="#wsdl.faultReference">wsdl.faultReference(interface/operation/message/fault)</a><br> A.2.6 <a href=#wsdl.binding">wsdl.binding(binding)</a><br> A.2.7 <a href="#wsdl.bindingFault">wsdl.bindingFault(binding/fault)</a><br> A.2.8 <a href="#wsdl.bindingOperation">wsdl.bindingOperation(binding/operation)</a><br> A.2.9 <a href="#wsdl.bindingMessageReference">wsdl.bindingMessageReference(binding/operation/message)</a><br> A.2.10 <a href="#wsdl.bindingFaultReference">wsdl.bindingFaultReference(binding/operation/fault/message)</a><br> A.2.11 <a href="#wsdl.service"> wsdl.service(service) --- 95,99 ---- output [owner element]</a><br> 2.12.2.2 <a href="#Binding_Message_Reference_extension_elements">Binding Message Reference extension elements</a><br> 2.12.3 <a href="#Binding_Message_Reference_Mapping">Mapping Binding Message Reference's XML Representation to Component Properties</a><br> 2.13 <a href="#Binding_Fault_Reference">Binding Fault Reference</a><br> 2.13.1 <a href="#Binding_Fault_Reference_details">The Binding Fault Reference Component</a><br> 2.13.2 <a href="#Binding_Fault_Reference_XMLRep">XML Representation of Binding Fault Reference Component</a><br> 2.13.2.1 <a href="#Binding_Fault_Reference_ref_attribute">ref attribute information item with infault or outfault [owner element]</a><br> 2.13.2.2 <a href="#Binding_Fault_Reference_messageLabel_attribute">messageLabel attribute information item with infault or ! outfault [owner element]</a><br> 2.13.2.3 <a href="#Binding_Fault_Reference_extension_elements">Binding Fault Reference extension elements</a><br> 2.13.3 <a href="#Binding_Fault_Reference_Mapping">Mapping Binding Fault Reference's XML Representation to Component Properties</a><br> 2.14 <a href="#Service">Service</a><br> 2.14.1 <a href="#Service_details">The Service Component</a><br> 2.14.1.1 <a href="#Service_OperationName">Operation Name Mapping Requirement</a><br> 2.14.2 <a href="#Service_XMLRep">XML Representation of Service Component</a><br> 2.14.2.1 <a href="#Service_references">Service References</a><br> nbsp; 2.14.2.2 <a href="#Service_name_attribute">name attribute information item with service [owner element]</a><br> 2.14.2.3 <a href="#Service_interface_attribute">interface attribute information item with service [owner element]</a><br> 2.14.3 <a href="#Service_Mapping">Mapping Service's XML Representation to Component Properties</a><br> 2.15 <a href="#Endpoint">Endpoint</a><br> 2.15.1 <a href="#Endpoint_details">The Endpoint Component</a><br> 2.15.2 <a href="#Endpoint_XMLRep">XML Representation of Endpoint Component</a><br> 2.15.2.1 <a href="#Endpoint_references">Endpoint References</a><br> &nsp;2.15.2.2 <a href="#Endpoint_name_attribute">name attribute information item with endpoint [owner element]</a><br> 2.15.2.3 <a href="#Endpoint_binding_attribute">binding attribute information item with endpoint [owner element]</a><br> 2.15.2.4 <a href="#Endpoint_address_attribute">address attribute information item with endpoint [owner element]</a><br> 2.15.2.5 <a href="#Endpoint_extension_elements">Endpoint extension elements</a><br> 2.15.3 <a href="#Endpoint_Mapping">Mapping Endpoint's XML Representation to Component Properties</a><br> 2.16 <a href="#simpletypes">XML Schema 1.0 Simple Types Used in the Component Model</a><br> 2.16.1 <a href="#ncname_type">NCName Type</a><br>  2.16.2 <a href="#anyuri_type">anyURI Type</a><br> 2.16.3 <a href="#qname_type">QName Type</a><br> 2.16.4 <a href="#boolean_type">boolean Type</a><br> 2.17 <a href="#compequiv">Equivalence of Components</a><br> 2.18 <a href="#symbolspaces">Symbol Spaces</a><br> 2.19 <a href="#qnameres">QName resolution</a><br> 2.20 <a href="#uricompare">Comparing URIs</a><br>3. <a href="#eii-types">Types</a><br> 3.1 <a href="#xsd-types">Using W3C XML Schema Description Language</a><br> 3.1.1 <a href="#import-xsd">Importing XML Schema</a><br> 3.1.1.1 <a href="#namespace-attribute">namespace attribute information item</a><br> &nbs; 3.1.1.2 <a href="#schemaLocation-attribute">schemaLocation attribute information item</a><br> 3.1.2 <a href="#embed-xsd">Embedding XML Schema</a><br> 3.1.2.1 <a href="#targetNamespace-attribute">targetNamespace attribute information item</a><br> 3.1.3 <a href="#references-definitions">References to Element Declarations and Type Definitions</a><br> 3.2 <a href="#other-types">Using Other Schema Languages</a><br>4. <a href="#modularize">Modularizing WSDL descriptions</a><br> 4.1 <a href="#includes">Including Descriptions</a><br> 4.1.1 <a href="#include_location_attribute">location attribute information item with include [owner element]</a><br> 4.2 <a href="#imports">Importing Descriptions</a><br> &nsp; 4.2.1 <a href="#import_namespace_attribute">namespace attribute information item</a><br> 4.2.2 <a href="#import_location_attribute">location attribute information item with import [owner element]</a><br>5. <a href="#eii-documentation">Documentation</a><br>6. <a href="#language-extensibility">Language Extensibility</a><br> 6.1 <a href="#eii-extensibility">Element based Extensibility</a><br> 6.1.1 <a href="#mandatoryext">Mandatory extensions</a><br> 6.1.2 <a href="#required-aii">required attribute information item</a><br> 6.2 <a href="#aii-extensibility">Attribute-based Extensibility</a><br> 6.3 <a href="#extensibility-semantics">Extensibility Semantics</a><br>7. <a href="#wsdllocation">Locating WSDL Documents</a><br> 7.1 <a href="#wsdlLocatin-aii">wsdli:wsdlLocation attribute information item</a><br>8. <a href="#conformance">Conformance</a><br> 8.1 <a href="#infoset">XML Information Set Conformance</a><br>9. <a href="#Syntax-Summary">XML Syntax Summary (Non-Normative)</a><br>10. <a href="#References">References</a><br> 10.1 <a href="#Normative-References">Normative References</a><br> 10.2 <a href="#Informative-References">Informative References</a><br></p> <h3><a id="appendix" name="appendix">Appendices</a></h3><p class="toc">A. <a href="#ietf-draft">The application/wsdl+xml Media Type</a><br> A.1 <a href="#ietf-reg">Registration</a><br> A.2 <a href="#frag-ids">Fragment Identifiers</a><br> A.2.1 <a href="#wsdl.interface">wsdl.interface(interface)</a><br> A.2.2 <a href="#wsdl.interfaceFault">wsdl.interfaceFault(interface/fault)</a><br> A.2.3 <a href="#wsdl.interfaceOperation">wsdl.interfaceOperation(interface/operation)</a><br> A.2.4 <a href="#wsdl.messageReference">wsdl.messageReference(interface/operation/message)</a><br> A.2.5 <a href="#wsdl.faultReference">wsdl.faultReference(interface/operation/message/fault)</a><br> A.2.6 <a href=#wsdl.binding">wsdl.binding(binding)</a><br> A.2.7 <a href="#wsdl.bindingFault">wsdl.bindingFault(binding/fault)</a><br> A.2.8 <a href="#wsdl.bindingOperation">wsdl.bindingOperation(binding/operation)</a><br> A.2.9 <a href="#wsdl.bindingMessageReference">wsdl.bindingMessageReference(binding/operation/message)</a><br> A.2.10 <a href="#wsdl.bindingFaultReference">wsdl.bindingFaultReference(binding/operation/fault/message)</a><br> A.2.11 <a href="#wsdl.service"> wsdl.service(service) *************** *** 1000,1003 **** --- 1000,1005 ---- <a name="zed-InterfaceRI"></a> + <a name="zed-InterfaceParent"></a> + <a name="zed-InterfaceClosure"></a> *************** *** 2719,2722 **** --- 2721,2726 ---- <a name="zed-Feature"></a> + <a name="zed-FeatureRI"></a> + <div class="div4"> *************** *** 4848,4852 **** <p> A REQUIRED <code>name</code> <em>attribute information item</em> ! as described below in <a href="#Service_name_attribute"><b>2.14.2.1 name attribute information item with service [owner element]</b></a>. </p> </li> --- 4852,4856 ---- <p> A REQUIRED <code>name</code> <em>attribute information item</em> ! as described below in <a href="#Service_name_attribute"><b>2.14.2.2 name attribute information item with service [owner element]</b></a>. </p> </li> *************** *** 4854,4858 **** <p> A REQUIRED <code>interface</code> <em>attribute information item</em> ! as described below in <a href="#Service_interface_attribute"><b>2.14.2.2 interface attribute information item with service [owner element]</b></a>. </p> </li> --- 4858,4862 ---- <p> A REQUIRED <code>interface</code> <em>attribute information item</em> ! as described below in <a href="#Service_interface_attribute"><b>2.14.2.3 interface attribute information item with service [owner element]</b></a>. </p> </li> *************** *** 4898,4917 **** </ul> ! <p>Note that the XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>] type of the ! <em>element information item</em> <code>service</code> as defined in the WSDL schema MAY be used as the basis for defining new elements which can be used ! as service references in message exchanges. To enable such reuse, the WSDL schema defines the <em>attribute information item</em> <code>name</code> as ! optional in the type of the <em>element information item</em> <code>service</code> , while it is REQUIRED for the <em>element information item</em> <code>service</code> as indicated ! above.</p> <div class="note"><p class="prefix"><b>Note:</b></p><p>See the primer [<cite><a href="#WSDL-PART0">WSDL 2.0 Primer</a></cite>] for more information and examples.</p></div> <div class="div4"> ! <h5><a name="Service_name_attribute"></a>2.14.2.1 <code>name</code> <em>attribute information item</em> with <code>service</code> [owner element]</h5> <p> The <code>name</code> <em>attribute information item</em> together with the --- 4902,4931 ---- </ul> + <div class="div4"> + + <h5><a name="Service_references"></a>2.14.2.1 Service References</h5> ! <p class="diff-chg">Note that <code>ServiceType</code> , which is the XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>] complex type of the ! <em>element information item</em> <code>service</code> as defined in the WSDL schema, MAY be used as the basis for defining new elements which can be used ! as service references in message exchanges. ! In the case that the message contains a reference to a service ! that implements a known interface, an element whose type ! restricts the complex type <code>ServiceType</code> to have a fixed value for the ! <em>attribute information item</em> <code>interface</code> MAY be used. ! To enable such reuse, the WSDL schema defines the <em>attribute information item</em> <code>name</code> as ! optional in complex type <code>ServiceType</code> , while it is REQUIRED for the <em>element information item</em> <code>service</code> as indicated ! above. ! </p> <div class="note"><p class="prefix"><b>Note:</b></p><p>See the primer [<cite><a href="#WSDL-PART0">WSDL 2.0 Primer</a></cite>] for more information and examples.</p></div> + </div> <div class="div4"> ! <h5><a name="Service_name_attribute"></a>2.14.2.2 <code>name</code> <em>attribute information item</em> with <code>service</code> [owner element]</h5> <p> The <code>name</code> <em>attribute information item</em> together with the *************** *** 4931,4935 **** <div class="div4"> ! <h5><a name="Service_interface_attribute"></a>2.14.2.2 <code>interface</code> <em>attribute information item</em> with <code>service</code> [owner element]</h5> <p> The <code>interface</code> <em>attribute information item</em> identifies the interface --- 4945,4949 ---- <div class="div4"> ! <h5><a name="Service_interface_attribute"></a>2.14.2.3 <code>interface</code> <em>attribute information item</em> with <code>service</code> [owner element]</h5> <p> The <code>interface</code> <em>attribute information item</em> identifies the interface *************** *** 5101,5105 **** <p> A REQUIRED <code>name</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_name_attribute"><b>2.15.2.1 name attribute information item with endpoint [owner element]</b></a>. </p> </li> --- 5115,5119 ---- <p> A REQUIRED <code>name</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_name_attribute"><b>2.15.2.2 name attribute information item with endpoint [owner element]</b></a>. </p> </li> *************** *** 5107,5111 **** <p> A REQUIRED <code>binding</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_binding_attribute"><b>2.15.2.2 binding attribute information item with endpoint [owner element]</b></a>. </p> </li> --- 5121,5125 ---- <p> A REQUIRED <code>binding</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_binding_attribute"><b>2.15.2.3 binding attribute information item with endpoint [owner element]</b></a>. </p> </li> *************** *** 5113,5117 **** <p> An OPTIONAL <code>address</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_address_attribute"><b>2.15.2.3 address attribute information item with endpoint [owner element]</b></a>. </p> </li> --- 5127,5131 ---- <p> An OPTIONAL <code>address</code> <em>attribute information item</em> ! as described below in <a href="#Endpoint_address_attribute"><b>2.15.2.4 address attribute information item with endpoint [owner element]</b></a>. </p> </li> *************** *** 5145,5149 **** "http://www.w3.org/@@@@/@@/wsdl". Such <em>element information item</em>s are considered to be endpoint extension ! elements as described below (see <a href="#Endpoint_extension_elements"><b>2.15.2.4 Endpoint extension elements</b></a>). </p></li> </ul> --- 5159,5163 ---- "http://www.w3.org/@@@@/@@/wsdl". Such <em>element information item</em>s are considered to be endpoint extension ! elements as described below (see <a href="#Endpoint_extension_elements"><b>2.15.2.5 Endpoint extension elements</b></a>). </p></li> </ul> *************** *** 5153,5159 **** </ul> <div class="div4"> ! <h5><a name="Endpoint_name_attribute"></a>2.15.2.1 <code>name</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>name</code> <em>attribute information item</em> together with the --- 5167,5196 ---- </ul> + <div class="div4"> + + <h5><a name="Endpoint_references"></a>2.15.2.1 Endpoint References</h5> + + <p class="diff-chg">Note that <code>EndpointType</code> , which is the XML Schema [<cite><a href="#XMLSchemaP1">XML Schema: Structures</a></cite>] complex type of the + <em>element information item</em> <code>endpoint</code> as defined in the WSDL schema, MAY be + used as the basis for defining new elements which can be used + as endpoint references in message exchanges. + In the case that the message contains a reference to an endpoint + that implements a known binding, an element whose type + restricts the complex type <code>EndpointType</code> to have a fixed value for the + <em>attribute information item</em> <code>binding</code> MAY be used. + To enable such + reuse, the WSDL schema defines the <em>attribute information item</em> <code>name</code> as + optional in complex type <code>EndpointType</code> , while it + is REQUIRED for the <em>element information item</em> <code>endpoint</code> as indicated + above. + </p> + + <div class="note"><p class="prefix"><b>Note:</b></p><p>See the primer [<cite><a href="#WSDL-PART0">WSDL 2.0 Primer</a></cite>] for more + information and examples.</p></div> + </div> + <div class="div4"> ! <h5><a name="Endpoint_name_attribute"></a>2.15.2.2 <code>name</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>name</code> <em>attribute information item</em> together with the *************** *** 5173,5177 **** <div class="div4"> ! <h5><a name="Endpoint_binding_attribute"></a>2.15.2.2 <code>binding</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>binding</code> <em>attribute information item</em> refers, by QName, to a Binding component --- 5210,5214 ---- <div class="div4"> ! <h5><a name="Endpoint_binding_attribute"></a>2.15.2.3 <code>binding</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>binding</code> <em>attribute information item</em> refers, by QName, to a Binding component *************** *** 5189,5193 **** <div class="div4"> ! <h5><a name="Endpoint_address_attribute"></a>2.15.2.3 <code>address</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>address</code> <em>attribute information item</em> specifies the address of the endpoint. --- 5226,5230 ---- <div class="div4"> ! <h5><a name="Endpoint_address_attribute"></a>2.15.2.4 <code>address</code> <em>attribute information item</em> with <code>endpoint</code> [owner element]</h5> <p> The <code>address</code> <em>attribute information item</em> specifies the address of the endpoint. *************** *** 5205,5209 **** <div class="div4"> ! <h5><a name="Endpoint_extension_elements"></a>2.15.2.4 Endpoint extension elements</h5> <p> Endpoint extension elements are used to provide information --- 5242,5246 ---- <div class="div4"> ! <h5><a name="Endpoint_extension_elements"></a>2.15.2.5 Endpoint extension elements</h5> <p> Endpoint extension elements are used to provide information *************** *** 7887,7890 **** --- 7924,7934 ---- <th rowspan="1" colspan="1">Description</th> </tr> + + <tr> + <td rowspan="1" colspan="1">20050430</td> + <td rowspan="1" colspan="1">AGR</td> + <td rowspan="1" colspan="1"><a href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC117">LC117</a>: + Added use of EndpointType for endpoint references.</td> + </tr> <tr> *************** *** 9246,9249 **** --- 9290,9294 ---- </tr> <tr> + <td rowspan="1" colspan="1">20030120</td> <td rowspan="1" colspan="1">MJG</td> Index: wsdl20-primer.html =================================================================== RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20-primer.html,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** wsdl20-primer.html 29 Apr 2005 23:49:11 -0000 1.54 --- wsdl20-primer.html 1 May 2005 12:20:08 -0000 1.55 *************** *** 93,100 **** no official standing.</strong></p><p></p></div> <hr><div class="toc"> ! <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></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> 1.1 <a href="#Prerequisites">Prerequisites</a><br> 1.2 <a href="#PrimerStructure">Structure of this Primer</a><br> 1.3 <a href="#notation">Notational Conventions</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br> 2.1 <a href="#basics-greath-scenario">Example Scenario: The GreatH Hotel Reservation Service</a><br> 2.2 <a href="#basics-getting-started">Getting Started: Defining a WSDL Target Namespace</a><br> 2.2.1 <a href="#example-empty-shell-explanation">Explanation of Example</a><br> 2.3 <a href="#basics-types">Defining Message Types</a><br> 2.3.1 <a href="#example-initial-types-explanation">Explanation of Example</a><br> 2.4 <a href="#basics-nterface">Defining an Interface</a><br> 2.4.1 <a href="#example-initial-interface-explanation">Explanation of Example</a><br> 2.5 <a href="#basics-binding">Defining a Binding</a><br> 2.5.1 <a href="#example-initial-binding-explanation">Explanation of Example</a><br> 2.6 <a href="#basics-service">Defining a Service</a><br> 2.6.1 <a href="#example-initial-service-explanation">Explanation of Example</a><br> 2.7 <a href="#basics-documentation">Documenting the Service</a><br> 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> 3.1 <a href="#wsdl-infoset-diagram">WSDL 2.0 Infoset</a><br> 3. <a href="#wsdl-schema">WSDL 2.0 Schema and Element Ordering</a><br> 3.3 <a href="#component-model">WSDL 2.0 Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br> 4.1 <a href="#more-types-schema-embed">Embedding XML Schema</a><br> 4.2 <a href="#more-types-schema-import">Importing XML Schema</a><br> 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> 5.1 <a href="#more-interfaces-interfaces">Interface Syntax </a><br> 5.2 <a href="#more-interfaces-inheritance">Interface Inheritance</a><br> 5.3 <a href="#more-interfaces-faults">Interface Faults</a><br> 5.4 <a href="#more-interfaces-operations">Interface Operations</a><br> 5.4.1 <a href="#more-interfaces-op-att">Operation Attributes</a><br> 5.4.2 <a href="#N108DB">Operation Message References</a><br> 5.4.2.1 <a href="#N108F8">The messageLabel Attribute</a><br> 5.4.2.2 <a href="#N1090C">The element Attribute</a><br> 5.4.2.3 <a href="#N10933">Multiple infault or outfault Elements</a><br> 5.4.3 <a href="#more-interfaces-meps">Understanding Message Exchange Patterns (MEPs)</a><br> 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> 6.1 <a href="#more-bindings-wsdl">Syntax Summary for Bindings</a><br> 6.2 <a href="#more-bindins-reusable">Reusable Bindings</a><br> 6.3 <a href="#more-bindings-faults">Binding Faults</a><br> 6.4 <a href="#bindingOperations">Binding Operations</a><br> 6.5 <a href="#more-bindings-soap">The SOAP Binding Extension</a><br> 6.5.1 <a href="#more-bindings-soap-example-explanation">Explanation of Example</a><br> 6.6 <a href="#more-bindings-http">The HTTP Binding Extension</a><br> 6.6.1 <a href="#N10AF7">Explanation of ! Example</a><br> 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> 7.1 <a href="#adv-extensibility">Extensibility</a><br> 7.1.1 <a href="#adv-optional-versus-required">Optional Versus Required Extensions</a><br> 7.1.2 <a href="#adv-scope-of-wsdl-required">Scoping of the wsdl:required Attribute</a><br> 7.2 <a href="#adv-FP">Features and Properties</a><br> 7.2.1 <a href="#adv-FP-soap-modules">SOAP Modules</a><br> 7.2.2 <a href="#adv-FP-abstract-features">Abstract Features</a><br> 7.2.3 <a href="#adv-fp-properties">Properties</a><br> 7.3 <a href="#adv-import-and-authoring">Import mechanism and authoring stye</a><br> 7.4 <a href="#adv-multiple-docs-describing-same-service">Multiple Interfaces for the Same Service</a><br> 7.5 <a href="#adv-versioning">Web Service Versioning</a><br> 7.5.1 <a href="#adv-versioning-compatible-evolution">Compatible Evolution</a><br> 7.5.2 <a href="#adv-versioning-big-bang">Big Bang</a><br> 7.5.3 <a href="#adv-versioning-combined">Combined Approaches</a><br> 7.6 <a href="#adv-MTOM">MTOM Support</a><br> 7.7 <a href="#adv-RPCstyle">RPC Style</a><br> 7.8 <a href="#adv-message-dispatch">Enabling Easy Message Dispatch</a><br> 7.9 <a href="#adv-service-references">Service References</a><br> 7.9.1 <a href="#reservationDetails">The Reservation Details Web Service</a><br>nbsp; 7.9.2 <a href="#reservationList">The Reservation List Web Service</a><br> 7.9.3 <a href="#reservationDetails_HTTP">Reservation Details Web Service Using HTTP Transfer</a><br> 7.9.4 <a href="#reservationList_HTTP_GET">Reservation List Web Service Using HTTP GET</a><br> 7.10 <a href="#adv-multiple-inline-schemas">Importing Schemas</a><br> 7.10.1 <a href="#N11014">Schemas in Imported Documents</a><br> 7.10.2 <a href="#N1109F">Multiple Inline Schemas in One Document</a><br> 7.10.3 <a href="#adv-schema-location">The schemaLocation Attribute</a><br> 7.10.3.1 <a href="#N110FC">Using the id Attribute to Identify Inline ! Schemas</a><br> 7.11 <a href="#adv-rdf-mapping">Mapping to RDF and Semantic Web</a><br> 7.11.1 <a href="#adv-rdf-rep-wsdl">RDF Representation of WSDL 2.0</a><br> 7.12 <a href="#adv-notes-on-uris">Notes on URIs</a><br> 7.12.1 <a href="#adv-namespaces-and-schema-locations">XML Namespaces and Schema Locations</a><br> 7.12.2 <a href="#adv-relative-uris">Relative URIs</a><br> 7.12.3 <a href="#adv-generating-uris">Generating Temporary URIs</a><br>8. <a href="#References">References</a><br> 8.1 <a href="#Normative-References">Normative References</a><br> 8.2 <a href="#Informative-References">Informative References</a><br></p></div><hr><div class="body"> --- 93,101 ---- no official standing.</strong></p><p></p></div> <hr><div class="toc"> ! <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> 1.1 <a href="#Prerequisites">Prerequisites</a><br> 1.2 <a href="#PrimerStructure">Structure of this Primer</a><br> 1.3 <a href="#notation">Notational Conventions</a><br>2. <a href="#basics">WSDL 2.0 Basics</a><br> 2.1 <a href="#basics-greath-scenario">Example Scenario: The GreatH Hotel Reservation Service</a><br> 2.2 <a href="#basics-getting-started">Getting Started: Defining a WSDL Target Namespace</a><br> 2.2.1 <a href="#example-empty-shell-explanation">Explanation of Example</a><br> 2.3 <a href="#basics-types">Defining Message Types</a><br> 2.3.1 <a href="#example-initial-types-explanation">Explanation of Example</a><br> 2.4 <a href="#basics-nterface">Defining an Interface</a><br> 2.4.1 <a href="#example-initial-interface-explanation">Explanation of Example</a><br> 2.5 <a href="#basics-binding">Defining a Binding</a><br> 2.5.1 <a href="#example-initial-binding-explanation">Explanation of Example</a><br> 2.6 <a href="#basics-service">Defining a Service</a><br> 2.6.1 <a href="#example-initial-service-explanation">Explanation of Example</a><br> 2.7 <a href="#basics-documentation">Documenting the Service</a><br> 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> 3.1 <a href="#wsdl-infoset-diagram">WSDL 2.0 Infoset</a><br> 3. <a href="#wsdl-schema">WSDL 2.0 Schema and Element Ordering</a><br> 3.3 <a href="#component-model">WSDL 2.0 Component Model</a><br>4. <a href="#more-types">More on Message Types</a><br> 4.1 <a href="#more-types-schema-embed">Embedding XML Schema</a><br> 4.2 <a href="#more-types-schema-import">Importing XML Schema</a><br> 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> 5.1 <a href="#more-interfaces-interfaces">Interface Syntax </a><br> 5.2 <a href="#more-interfaces-inheritance">Interface Inheritance</a><br> 5.3 <a href="#more-interfaces-faults">Interface Faults</a><br> 5.4 <a href="#more-interfaces-operations">Interface Operations</a><br> 5.4.1 <a href="#more-interfaces-op-att">Operation Attributes</a><br> 5.4.2 <a href="#N108DB">Operation Message References</a><br> 5.4.2.1 <a href="#N108F8">The messageLabel Attribute</a><br> 5.4.2.2 <a href="#N1090C">The element Attribute</a><br> 5.4.2.3 <a href="#N10933">Multiple infault or outfault Elements</a><br> 5.4.3 <a href="#more-interfaces-meps">Understanding Message Exchange Patterns (MEPs)</a><br> 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> 6.1 <a href="#more-bindings-wsdl">Syntax Summary for Bindings</a><br> 6.2 <a href="#more-bindins-reusable">Reusable Bindings</a><br> 6.3 <a href="#more-bindings-faults">Binding Faults</a><br> 6.4 <a href="#bindingOperations">Binding Operations</a><br> 6.5 <a href="#more-bindings-soap">The SOAP Binding Extension</a><br> 6.5.1 <a href="#more-bindings-soap-example-explanation">Explanation of Example</a><br> 6.6 <a href="#more-bindings-http">The HTTP Binding Extension</a><br> 6.6.1 <a href="#N10AF7">Explanation of ! Example</a><br> 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> 7.1 <a href="#adv-extensibility">Extensibility</a><br> 7.1.1 <a href="#adv-optional-versus-required">Optional Versus Required Extensions</a><br> 7.1.2 <a href="#adv-scope-of-wsdl-required">Scoping of the wsdl:required Attribute</a><br> 7.2 <a href="#adv-FP">Features and Properties</a><br> 7.2.1 <a href="#adv-FP-soap-modules">SOAP Modules</a><br> 7.2.2 <a href="#adv-FP-abstract-features">Abstract Features</a><br> 7.2.3 <a href="#adv-fp-properties">Properties</a><br> 7.3 <a href="#adv-import-and-authoring">Import mechanism and authoring stye</a><br> 7.4 <a href="#adv-multiple-docs-describing-same-service">Multiple Interfaces for the Same Service</a><br> 7.5 <a href="#adv-versioning">Web Service Versioning</a><br> 7.5.1 <a href="#adv-versioning-compatible-evolution">Compatible Evolution</a><br> 7.5.2 <a href="#adv-versioning-big-bang">Big Bang</a><br> 7.5.3 <a href="#adv-versioning-combined">Combined Approaches</a><br> 7.6 <a href="#adv-MTOM">MTOM Support</a><br> 7.7 <a href="#adv-RPCstyle">RPC Style</a><br> 7.8 <a href="#adv-message-dispatch">Enabling Easy Message Dispatch</a><br> 7.9 <a href="#adv-service-references">Service and Endpoint References</a><br> 7.9.1 <a href="#reservationDetails">The Reservation Details Web Sevice</a><br> 7.9.2 <a href="#reservationList">The Reservation List Web Service</a><br> 7.9.3 <a href="#reservationDetails_HTTP">Reservation Details Web Service Using HTTP Transfer</a><br> 7.9.4 <a href="#reservationList_HTTP_GET">Reservation List Web Service Using HTTP GET</a><br> 7.10 <a href="#adv-multiple-inline-schemas">Importing Schemas</a><br> 7.10.1 <a href="#N11040">Schemas in Imported Documents</a><br> 7.10.2 <a href="#N110CB">Multiple Inline Schemas in One Document</a><br> 7.10.3 <a href="#adv-schema-location">The schemaLocation Attribute</a><br> 7.10.3.1 <a href="#N11128">Using the id Attribute to Identify Inline ! Schemas</a><br> 7.11 <a href="#adv-rdf-mapping">Mapping to RDF and Semantic Web</a><br> 7.11.1 <a href="#adv-rdf-rep-wsdl">RDF Representation of WSDL 2.0</a><br> 7.12 <a href="#adv-notes-on-uris">Notes on URIs</a><br> 7.12.1 <a href="#adv-namespaces-and-schema-locations">XML Namespaces and Schema Locations</a><br> 7.12.2 <a href="#adv-relative-uris">Relative URIs</a><br> 7.12.3 <a href="#adv-generating-uris">Generating Temporary URIs</a><br>8. <a href="#References">References</a><br> 8.1 <a href="#Normative-References">Normative References</a><br> 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"> *************** *** 119,123 **** <p>Section 3 gives more information on defining message types.</p><p>Section 4 gives more information on interfaces.</p><p>Section 5 gives more information on bindings.</p><p>Section 6 gives more information on defining services.</p> ! <p>Section 5 covers various advanced topics, including features and properties, flexible authoring styles, service references, use of URIs, etc. </p> </div><div class="div2"> --- 120,124 ---- <p>Section 3 gives more information on defining message types.</p><p>Section 4 gives more information on interfaces.</p><p>Section 5 gives more information on bindings.</p><p>Section 6 gives more information on defining services.</p> ! <p>Section 5 covers various advanced topics, including features and properties, flexible authoring styles, service and endpoint references, use of URIs, etc. </p> </div><div class="div2"> *************** *** 461,464 **** --- 462,466 ---- </interface> + <binding name="reservationSOAPBinding" interface="tns:reservationInterface" *************** *** 1665,1672 **** <div class="div2"> ! <h3><a name="adv-service-references"></a>7.9 Service References</h3> - <table border="1" summary="Editorial note: Kliu"><tr><td width="50%" valign="top" align="left"><b>Editorial note: Kliu</b></td><td width="50%" valign="top" align="right">2005-04-26</td></tr><tr><td valign="top" align="left" colspan="2">This section might be broken. It's pending on resolution of <a href="http://www.w3.org/2002/ws/desc/4/lc-issues/#LC117">Last Call issue LC117</a>. </td></tr></table> - <p> Hyperlinking is one of the defining characteristics --- 1667,1672 ---- <div class="div2"> ! <h3><a name="adv-service-references"></a>7.9 Service and Endpoint References</h3> <p> Hyperlinking is one of the defining characteristics *************** *** 1675,1682 **** natural to apply this capability to Web services. This section describes ! <em>service references</em>, which are the Web service analogs of document hyperlinks. ! </p><p>One may wonder, from a Web architectural point of view, why anything more than a URI would be needed to reference a Web service. Indeed, a service reference does make use of a URI to indicate the endpoint address of a service. However, it may also include additional metadata about that service, such as the WSDL 2.0 interface and binding that the service supports.</p><p>Services references will be illustrated by expanding the GreatH example already discussed.</p> <div class="div3"> --- 1675,1698 ---- natural to apply this capability to Web services. This section describes ! <em>service references</em> and <em>endpoint references</em>, which are the Web service analogs of document hyperlinks. ! </p> ! ! <p> ! One may wonder, from a Web architectural point of ! view, why anything more than a URI would be needed ! to reference a Web service. Indeed, a service ! reference does make use of a URI to indicate the ! endpoint address of a service. However, it may also ! include additional metadata about that service, ! such as the WSDL 2.0 interface and binding that the ! service supports. ! </p> ! ! <p> ! Service and endpoint references will be illustrated ! by expanding the GreatH example already discussed. ! </p> <div class="div3"> *************** *** 1694,1698 **** http://greath.example.com/2004/reservation/OMX736. This URI will be the endpoint address for a ! Reservation Detail Web service that can retrieve and update the state of a reservation. <a href="#reservationDetails-OMX736.xml">Example 7-13</a> --- 1710,1714 ---- http://greath.example.com/2004/reservation/OMX736. This URI will be the endpoint address for a ! Reservation Details Web service that can retrieve and update the state of a reservation. <a href="#reservationDetails-OMX736.xml">Example 7-13</a> *************** *** 1715,1726 **** </div> ! <p> ! The Reservation Details Web service provides operations for retrieving and updating the detail for a reservation. ! <a href="#reservationDetails.wsdl">Example 7-14</a> shows the description for this Web service. ! Note that there is no <code>wsdl:service</code> element in this description since the set of reservations is dynamic. ! Instead, the endpoints for the reservations will be returned by querying the Reservation List Web service. ! </p> ! <div class="exampleOuter"> <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><?xml version="1.0" encoding="utf-8" ?> --- 1731,1749 ---- </div> ! <p> ! The Reservation Details Web service provides ! operations for retrieving and updating the detail ! for a reservation. ! <a href="#reservationDetails.wsdl">Example 7-14</a> ! shows the description for this Web service. Note ! that there is no ! <code>wsdl:service</code> ! element in this description since the set of ! reservations is dynamic. Instead, the endpoints for ! the reservations will be returned by querying the ! Reservation List Web service. ! </p> ! <div class="exampleOuter"> <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><?xml version="1.0" encoding="utf-8" ?> *************** *** 1781,1785 **** </description> - </pre></div></div> --- 1804,1807 ---- *************** *** 1799,1806 **** 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"> ! <import namespace="http://www.w3.org/2004/08/wsdl" ! schemaLocation="../../../xmlcatalog/wsdl/wsdl20.xsd" /> <element name="confirmationNumber" type="string" /> --- 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"> ! <import namespace="http://www.w3.org/2004/08/wsdl" /> ! ! <import namespace="http://www.w3.org/2004/08/wsdl-instance" /> <element name="confirmationNumber" type="string" /> *************** *** 1822,1826 **** </element> ! <complexType name="ReservationDetailsEndpointType"> <complexContent> <restriction base="wsdl:EndpointType"> --- 1846,1850 ---- </element> ! <complexType name="ReservationDetailsSOAPEndpointType"> <complexContent> <restriction base="wsdl:EndpointType"> *************** *** 1831,1843 **** </complexType> <complexType name="ReservationDetailsServiceType"> <complexContent> <restriction base="wsdl:ServiceType"> <sequence> ! <element name="endpoint" ! type="tns:ReservationDetailsEndpointType" /> </sequence> <attribute name="interface" type="QName" use="required" fixed="wdetails:reservationDetailsInterface" /> </restriction> </complexContent> --- 1855,1883 ---- </complexType> + <element name="reservationDetailsSOAPEndpoint" + type="tns:ReservationDetailsSOAPEndpointType"> + <annotation> + <documentation> + This element contains a reference to the Reservation + Details Web Service SOAP Endpoint for this reservation. + </documentation> + </annotation> + </element> + <complexType name="ReservationDetailsServiceType"> <complexContent> <restriction base="wsdl:ServiceType"> <sequence> ! <sequence> ! <element ref='wsdl:documentation' minOccurs='0' ! maxOccurs='0' /> ! </sequence> ! <choice minOccurs='1' maxOccurs='unbounded'> ! <element ref='wsdl:endpoint' /> ! </choice> </sequence> <attribute name="interface" type="QName" use="required" fixed="wdetails:reservationDetailsInterface" /> + <attribute ref="wsdli:wsdlLocation" /> </restriction> </complexContent> *************** *** 1873,1876 **** --- 1913,1922 ---- attribute whose value is the Reservation Details binding, <code>wdetails:reservationDetailsSOAPBinding</code>. + The + <code>reservationDetailsSOAPEndpoint</code> + element is thus a restriction of the + <code>wsdl:endpoint</code> + element that has the binding for the Reservation + Details service. This element will be used in the Reservation List service. </p> *************** *** 1882,1896 **** to have an <code>interface</code> ! attribute whose have is the Reservation Details service interace, ! <code>wdetails:reservationDetailsInterface</code> ! . The <code>reservationDetailsService</code> element is thus a restriction of the <code>wsdl:service</code> ! element that has the interface and binding for the Reservation ! Details service and whose endpoint address is that of the ! corresponding reservation. This element is used in the definition ! of the Reservation List Web service. </p> --- 1928,1973 ---- to have an <code>interface</code> ! attribute whose value is the Reservation Details service interace, ! <code>wdetails:reservationDetailsInterface</code>. The <code>reservationDetailsService</code> element is thus a restriction of the <code>wsdl:service</code> ! element that has the interface for the Reservation Details ! service. Note that the attributes of the ! <code>ReservationDetailsServiceType</code> ! complex type have also been restricted to allow only the ! additional ! <code>wsdli:wsdlLocation</code> ! attribute, which will be used in ! <a href="#reservationServiceReferences-HSG635.xml">Example 7-19</a> ! to specify the location of the WSDL 2.0 document that contains ! the definition of the ! <code>wdetails:reservationDetailsInterface</code> ! interface. ! </p> ! ! <p> ! In general, when you want to describe messages that contain ! endpoint references, you may use elements that are based on the ! <code>wsdl:EndpointType</code> ! complex type. If the bindings of the endpoints are fixed, you ! can define a restriction of the ! <code>wsdl:EndpointType</code> ! complex type that has a fixed value for the ! <code>binding</code> ! attribute. Similarly, when you want to describe messages that ! contain service references, you may use elements that are based ! on the ! <code>wsdl:ServiceType</code> ! complex type. If the interfaces of the services are fixed, you ! can define a restriction of the ! <code>wsdl:ServiceType</code> ! complex type that has a fixed value for the ! <code>interface</code> ! attribute. Note that the rules of XML Schema do not allow ! <code>wsdl:ServiceType</code> to be further restricted ! to have a fixed value for the <code>binding</code> attribute ! of its nested <code>wsdl:endpoint</code> elements. </p> *************** *** 1905,1909 **** Reservation Detail endpoints are not described in a fixed WSDL document. Instead they are ! returned as service references in response to requests made on a Reservation List Web service. The endpoint for the Reservation List service --- 1982,1986 ---- Reservation Detail endpoints are not described in a fixed WSDL document. Instead they are ! returned as endpoint references in response to requests made on a Reservation List Web service. The endpoint for the Reservation List service *************** *** 1912,1933 **** </p> - <table border="1" summary="Editorial note: Arthur"><tr><td width="50%" valign="top" align="left"><b>Editorial note: Arthur</b></td><td width="50%" valign="top" align="right">20050326</td></tr><tr><td valign="top" align="left" colspan="2"> - There is a problem in the current design of - the WSDL schema. At present, the - <code>wsdl:endpoint</code> - element is namespace qualified so it is - impossible to restrict - <code>wsdl:ServiceType</code> - to use the restricted - <code>wsdl:EndPoint</code> - type that has a fixed value for the - <code>binding</code> - attribute. The workaround is to change the - WSDL schema so that - <code>endpoint</code> - has no namespace. For consistency, other - nested elements should also have no - namespace. - </td></tr></table> <p> <a href="#reservationList-all.xml">Example 7-16</a> --- 1989,1992 ---- *************** *** 1940,1947 **** Service</i></p> <div class="exampleInner"><pre> ! <?xml version="1.0" encoding="UTF-8"?> <reservationList xmlns="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" wsdli:wsdlLocation="http://greath.example.com/2004/services/reservationDetails reservationDetails.wsdl"> --- 1999,2008 ---- Service</i></p> <div class="exampleInner"><pre> ! <?xml version="1.0" encoding="UTF-8"?> <reservationList xmlns="http://greath.example.com/2004/schemas/reservationList" 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"> *************** *** 1951,1960 **** <details:checkInDate>2005-06-27</details:checkInDate> <details:checkOutDate>2005-06-28</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/HSG635"/> ! </details:reservationDetailsService> </reservation> --- 2012,2018 ---- <details:checkInDate>2005-06-27</details:checkInDate> <details:checkOutDate>2005-06-28</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/HSG635" /> </reservation> *************** *** 1963,1972 **** <details:checkInDate>2005-06-01</details:checkInDate> <details:checkOutDate>2005-06-03</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/OMX736"/> ! </details:reservationDetailsService> </reservation> --- 2021,2027 ---- <details:checkInDate>2005-06-01</details:checkInDate> <details:checkOutDate>2005-06-03</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/OMX736" /> </reservation> *************** *** 1975,1987 **** <details:checkInDate>2005-06-11</details:checkInDate> <details:checkOutDate>2005-06-15</details:checkOutDate> ! <details:reservationDetailsService ! interface="wdetails:reservationDetailsInterface"> ! <details:endpoint name="SOAP" ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/WUH663"/> ! </details:reservationDetailsService> </reservation> ! </reservationList></pre></div> </div> --- 2030,2040 ---- <details:checkInDate>2005-06-11</details:checkInDate> <details:checkOutDate>2005-06-15</details:checkOutDate> ! <details:reservationDetailsSOAPEndpoint ! binding="wdetails:reservationDetailsSOAPBinding" ! address="http://greath.example.com/2004/reservation/WUH663" /> </reservation> ! </reservationList> ! </pre></div> </div> *************** *** 1989,2010 **** Here, the <code> ! <details:reservationDetailsService> </code> ! elements contain service references to the Reservation Details Web services for the reservations HSG635, OMX736, and WUH663. The ! service references given the interface, binding, and endpoint address of each service. In this ! example, all endpoints have the same interface ! and binding, i.e. ! <code> ! wdetails:reservationDetailsInterface ! </code> ! and <code> wdetails:reservationDetailsSOAPBinding ! </code> ! . These QNames identify WSDL 2.0 Interface and ! Binding components that are defined in a WSDL 2.0 document. This example shows the use of the <code>wsdli:wsdlLocation</code> --- 2042,2057 ---- Here, the <code> ! <details:reservationDetailsSOAPEndpoint> </code> ! elements contain endpoint references to the Reservation Details Web services for the reservations HSG635, OMX736, and WUH663. The ! endpoint references give the binding and endpoint address of each service. In this ! example, all endpoints have the same binding, i.e. <code> wdetails:reservationDetailsSOAPBinding ! </code>. This QName identifies the WSDL 2.0 ! Binding component that is defined in a WSDL 2.0 document. This example shows the use of the <code>wsdli:wsdlLocation</code> *************** *** 2017,2021 **** <a href="#reservationList.wsdl">Example 7-17</a> shows the description of the Reservation List ! Web service. Note that is contains operations to retrieve the entire list and to query for a list of reservations by confirmation number, check-in --- 2064,2068 ---- <a href="#reservationList.wsdl">Example 7-17</a> shows the description of the Reservation List ! Web service. Note that it contains operations to retrieve the entire list and to query for a list of reservations by confirmation number, check-in *************** *** 2030,2034 **** </i></p> <div class="exampleInner"><pre> ! <?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" targetNamespace="http://greath.example.com/2004/services/reservationList" --- 2077,2081 ---- </i></p> <div class="exampleInner"><pre> ! <?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" targetNamespace="http://greath.example.com/2004/services/reservationList" *************** *** 2112,2115 **** --- 2159,2163 ---- </description> + </pre></div> </div> *************** *** 2118,2122 **** <div class="exampleOuter"> <p class="exampleHead" style="text-align: left"><a name="reservationList.xsd"></a><i><span>Example 7-18. </span>The Reservation List Schema: reservationList.xsd</i></p> ! <div class="exampleInner"><pre><?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" --- 2166,2171 ---- <div class="exampleOuter"> <p class="exampleHead" style="text-align: left"><a name="reservationList.xsd"></a><i><span>Example 7-18. </span>The Reservation List Schema: reservationList.xsd</i></p> ! <div class="exampleInner"><pre> ! <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" *************** *** 2126,2131 **** xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"> ! <import namespace="http://www.w3.org/2004/08/wsdl-instance" ! schemaLocation="../../../xmlcatalog/wsdl/wsdl20-instance.xsd" /> <import --- 2175,2179 ---- xmlns:wsdli="http://www.w3.org/2004/08/wsdl-instance"> ! <import namespace="http://www.w3.org/2004/08/wsdl-instance" /> <import *************** *** 2146,2150 **** <element ref="details:checkInDate" /> <element ref="details:checkOutDate" /> ! <element ref="details:reservationDetailsService" /> </sequence> </complexType> --- 2194,2198 ---- <element ref="details:checkInDate" /> <element ref="details:checkOutDate" /> ! <element ref="details:reservationDetailsSOAPEndpoint" /> </sequence> </complexType> *************** *** 2171,2179 **** </pre></div> </div> </div> <div class="div3"> <h4><a name="reservationDetails_HTTP"></a>7.9.3 Reservation Details Web Service Using HTTP Transfer</h4><p>This section presents a variation on the example in <a href="#reservationDetails"><b>7.9.1 The Reservation Details Web Service</b></a>. It illustrates the use of HTTP transfer operations, GET and PUT, to retrieve and update GreatH hotel reservation details using the Representational State Transfer (REST) architectural style described by Roy Fielding [<cite><a href="#rest">REST</a></cite>]. REST is a distillation of the architectural properties that Dr. Fielding identified as being vital to the Web's robustness and enormous scalability. </p><p>Since each reservation in our example will have a distinct URI, the Reservation Details Web service can be offered using HTTP GET and HTTP PUT. The binding would be modified as follows:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="reservationDetails_HTTP_example"></a><i><span>Example 7-19. </span> Reservation Details Web Service Using HTTP Transfer</i></p> <div class="exampleInner"><pre> --- 2219,2288 ---- </pre></div> </div> + + <p> + In the preceeding example, there was a single + endpoint associated with each Reservation Detail + Web service. Suppose GreatH hotel decided to + provide a second, secure endpoint. In this case, + service references would be used to collect + together the endpoints for each reservation. The + reservationDetails.xsd schema defines the + <code>reservationDetailsService</code> + element for this purpose. It restricts the + <code>wsdl:ServiceType</code> + complex type to have a fixed value of + <code>reservationDetailsInterface</code> + for the interface attribute. + </p> + <p> + <a href="#reservationServiceReferences-HSG635.xml">Example 7-19</a> + shows an example of a message that contains a + service reference for reservation HGS635. Note + that the service contains two endpoints, one of + which provides secure access to the Reservation + Details Web service. Note the use of the + <code>wsdli:wsdlLocation</code> + to provide the location for the WSDL 2.0 + document that defines the + <code> + wdetails:reservationDetailsInterface + </code> + interface and the + <code> + wdetails:reservationDetailsSOAPBinding + </code> + binding. + </p> + + <div class="exampleOuter"> + <p class="exampleHead" style="text-align: left"><a name="reservationServiceReferences-HSG635.xml"></a><i><span>Example 7-19. </span>A Service Reference to the Reservation Details Web Service</i></p> + <div class="exampleInner"><pre> + <?xml version="1.0" encoding="UTF-8"?> + <details:reservationDetailsService interface="wdetails:reservationDetailsInterface" + 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"> + + <wsdl:endpoint + name="SOAP" + binding="wdetails:reservationDetailsSOAPBinding" + address="http://greath.example.com/2004/reservation/HSG635" /> + + <wsdl:endpoint + name="SECURE-SOAP" + binding="wdetails:reservationDetailsSOAPBinding" + address="https://greath.example.com/2004/reservation/HSG635" /> + + </details:reservationDetailsService> + </pre></div></div> + + </div> <div class="div3"> <h4><a name="reservationDetails_HTTP"></a>7.9.3 Reservation Details Web Service Using HTTP Transfer</h4><p>This section presents a variation on the example in <a href="#reservationDetails"><b>7.9.1 The Reservation Details Web Service</b></a>. It illustrates the use of HTTP transfer operations, GET and PUT, to retrieve and update GreatH hotel reservation details using the Representational State Transfer (REST) architectural style described by Roy Fielding [<cite><a href="#rest">REST</a></cite>]. REST is a distillation of the architectural properties that Dr. Fielding identified as being vital to the Web's robustness and enormous scalability. </p><p>Since each reservation in our example will have a distinct URI, the Reservation Details Web service can be offered using HTTP GET and HTTP PUT. The binding would be modified as follows:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="reservationDetails_HTTP_example"></a><i><span>Example 7-20. </span> Reservation Details Web Service Using HTTP Transfer</i></p> <div class="exampleInner"><pre> *************** *** 2198,2202 **** operations. These can also be expressed as various parameters in a URI used by HTTP GET:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET"></a><i><span>Example 7-20. </span> Reservation List Web Service Using HTTP GET</i></p> <div class="exampleInner"><pre> --- 2307,2311 ---- operations. These can also be expressed as various parameters in a URI used by HTTP GET:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET"></a><i><span>Example 7-21. </span> Reservation List Web Service Using HTTP GET</i></p> <div class="exampleInner"><pre> *************** *** 2234,2238 **** into the URI query string. A query sequence for any of ConfirmationNumber, checkInDate, checkOutDate would look like this:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET_single"></a><i><span>Example 7-21. </span>Query Sequence Using a Single Query Type</i></p> <div class="exampleInner"><pre> <element name="reservationQuery"> --- 2343,2347 ---- into the URI query string. A query sequence for any of ConfirmationNumber, checkInDate, checkOutDate would look like this:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET_single"></a><i><span>Example 7-22. </span>Query Sequence Using a Single Query Type</i></p> <div class="exampleInner"><pre> <element name="reservationQuery"> *************** *** 2255,2259 **** </pre></div> </div><p>The WSDL service that offers this type serialized as a parameter would look like this:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET_single_wsdl"></a><i><span>Example 7-22. </span>WSDL for Using a Single Query Type</i></p> <div class="exampleInner"><pre> . . . --- 2364,2368 ---- </pre></div> </div><p>The WSDL service that offers this type serialized as a parameter would look like this:</p><div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="example_reservationList_HTTP_GET_single_wsdl"></a><i><span>Example 7-23. </span>WSDL for Using a Single Query Type</i></p> <div class="exampleInner"><pre> . . . *************** *** 2324,2328 **** <div class="div3"> ! <h4><a name="N11014"></a>7.10.1 Schemas in Imported Documents</h4> <p> In this example, we consider some GreatH Hotel --- 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 *************** *** 2341,2345 **** <p> ! <a href="#retrieveDetails.wsdl">Example 7-23</a> shows the definition of the retrieval Web service in the --- 2450,2454 ---- <p> ! <a href="#retrieveDetails.wsdl">Example 7-24</a> shows the definition of the retrieval Web service in the *************** *** 2361,2365 **** <div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="retrieveDetails.wsdl"></a><i><span>Example 7-23. </span> The Retrieve Reservation Details Web Service: retrieveDetails.wsdl --- 2470,2474 ---- <div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="retrieveDetails.wsdl"></a><i><span>Example 7-24. </span> The Retrieve Reservation Details Web Service: retrieveDetails.wsdl *************** *** 2413,2417 **** <p> ! <a href="#updateDetails.wsdl">Example 7-24</a> shows the definition of the updating Web service in the --- 2522,2526 ---- <p> ! <a href="#updateDetails.wsdl">Example 7-25</a> shows the definition of the updating Web service in the *************** *** 2488,2492 **** <div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="updateDetails.wsdl"></a><i><span>Example 7-24. </span>The Update Reservation Details Web Service: updateDetails.wsdl</i></p> <div class="exampleInner"><pre><?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" --- 2597,2601 ---- <div class="exampleOuter"> ! <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><?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" *************** *** 2531,2535 **** <div class="div3"> ! <h4><a name="N1109F"></a>7.10.2 Multiple Inline Schemas in One Document</h4> <p> A WSDL 2.0 document may define multiple inline --- 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 *************** *** 2557,2561 **** <p> To illustrate this, consider ! <a href="#retrieveItems.wsdl">Example 7-25</a> which contains two inline schemas. The <code> --- 2666,2670 ---- <p> To illustrate this, consider ! <a href="#retrieveItems.wsdl">Example 7-26</a> which contains two inline schemas. The <code> *************** *** 2587,2591 **** <div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="retrieveItems.wsdl"></a><i><span>Example 7-25. </span> Multiple Inline Schemas: retrieveItems.wsdl </i></p> --- 2696,2700 ---- <div class="exampleOuter"> ! <p class="exampleHead" style="text-align: left"><a name="retrieveItems.wsdl"></a><i><span>Example 7-26. </span> Multiple Inline Schemas: retrieveItems.wsdl </i></p> *************** *** 2658,2663 **** </p> <p> ! <a href="#updateDetails.wsdl">Example 7-24</a> shows how one WSDL 2.0 document imports a schema defined in another, i.e. <a href="#retrieveDetails.wsdl">Example 7-23</a>. ! Similarly, <a href="#retrieveItems.wsdl">Example 7-25</a> shows how one schema in a WSDL 2.0 document imports another schema defined in the same document. In both of these examples, the <code>schemaLocation</code> attribute was omitted since the WSDL processor was assumed to know how to locate the imported schemas because they were part of the WSDL documents being processed. The <code>schemaLocation</code> attribute can be used to give the processor a URI reference --- 2767,2772 ---- </p> <p> ! <a href="#updateDetails.wsdl">Example 7-25</a> shows how one WSDL 2.0 document imports a schema defined in another, i.e. <a href="#retrieveDetails.wsdl">Example 7-24</a>. ! Similarly, <a href="#retrieveItems.wsdl">Example 7-26</a> shows how one schema in a WSDL 2.0 document imports another schema defined in the same document. In both of these examples, the <code>schemaLocation</code> attribute was omitted since the WSDL processor was assumed to know how to locate the imported schemas because they were part of the WSDL documents being processed. The <code>schemaLocation</code> attribute can be used to give the processor a URI reference *************** *** 2665,2671 **** 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="N110FC"></a>7.10.3.1 Using the id Attribute to Identify Inline Schemas</h5><p> ! <a href="#schemaIds.wsdl">Example 7-26</a> shows the use of the <code>id</code> --- 2774,2780 ---- 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> shows the use of the <code>id</code> *************** *** 2682,2686 **** attribute, i.e. <code>#items</code>. </p> ! <div class="exampleOuter"><p class="exampleHead" style="text-align: left"><a name="schemaIds.wsdl"></a><i><span>Example 7-26. </span>Using Ids in Inline Schemas: schemaIds.wsdl</i></p> <div class="exampleInner"><pre><?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" --- 2791,2795 ---- attribute, i.e. <code>#items</code>. </p> ! <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><?xml version="1.0" encoding="utf-8" ?> <description xmlns="http://www.w3.org/2004/08/wsdl" *************** *** 3117,3125 **** </div> </div> - <div class="div1"> ! <h2><a name="acknowledgments"></a>I. Acknowledgements (Non-Normative)</h2> <p>This document is the work of the <a href="http://www.w3.org/2002/ws/desc/">W3C Web Service Description Working Group</a>.</p> --- 3226,3235 ---- </div> </div> + </div> + <div class="back"> <div class="div1"> ! <h2><a name="acknowledgments"></a>A. Acknowledgements (Non-Normative)</h2> <p>This document is the work of the <a href="http://www.w3.org/2002/ws/desc/">W3C Web Service Description Working Group</a>.</p> *************** *** 3212,3216 **** </div> - </div> </body></html> \ No newline at end of file --- 3322,3325 ----
Received on Sunday, 1 May 2005 12:20:40 UTC