You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
815 lines
33 KiB
815 lines
33 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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 12 April 2005), see www.w3.org" />
|
|
<meta http-equiv="Content-Type" content=
|
|
"text/html; charset=utf-8" />
|
|
<title>WSDL 1.1 Element Identifiers</title>
|
|
|
|
<style type="text/css">/*<![CDATA[*/
|
|
code { font-family: monospace; }
|
|
|
|
div.constraint,
|
|
div.issue,
|
|
div.note,
|
|
div.notice { margin-left: 2em; }
|
|
|
|
ol.enumar { list-style-type: decimal; }
|
|
ol.enumla { list-style-type: lower-alpha; }
|
|
ol.enumlr { list-style-type: lower-roman; }
|
|
ol.enumua { list-style-type: upper-alpha; }
|
|
ol.enumur { list-style-type: upper-roman; }
|
|
|
|
dt.label { display: run-in; }
|
|
|
|
li, p { margin-top: 0.3em;
|
|
margin-bottom: 0.3em; }
|
|
|
|
.diff-chg { background-color: yellow; }
|
|
.diff-del { background-color: red; text-decoration: line-through;}
|
|
.diff-add { background-color: lime; }
|
|
|
|
table { empty-cells: show; }
|
|
|
|
table caption {
|
|
font-weight: normal;
|
|
font-style: italic;
|
|
text-align: left;
|
|
margin-bottom: .5em;
|
|
}
|
|
|
|
div.issue {
|
|
color: red;
|
|
}
|
|
.rfc2119 {
|
|
font-variant: small-caps;
|
|
}
|
|
|
|
div.exampleInner pre { margin-left: 1em;
|
|
margin-top: 0em; margin-bottom: 0em}
|
|
div.exampleOuter {border: 4px double gray;
|
|
margin: 0em; padding: 0em}
|
|
div.exampleInner { background-color: #d5dee3;
|
|
border-top-width: 4px;
|
|
border-top-style: double;
|
|
border-top-color: #d3d3d3;
|
|
border-bottom-width: 4px;
|
|
border-bottom-style: double;
|
|
border-bottom-color: #d3d3d3;
|
|
padding: 4px; margin: 0em }
|
|
div.exampleWrapper { margin: 4px }
|
|
div.exampleHeader { font-weight: bold;
|
|
margin: 4px}
|
|
/*]]>*/</style>
|
|
<link rel="stylesheet" type="text/css" href=
|
|
"http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css" />
|
|
</head>
|
|
<body>
|
|
<div class="head">
|
|
<p><a href="http://www.w3.org/"><img src=
|
|
"http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width=
|
|
"72" /></a></p>
|
|
<h1><a name="title" id="title"></a>WSDL 1.1 Element
|
|
Identifiers</h1>
|
|
<h2><a name="w3c-doctype" id="w3c-doctype"></a>W3C Working Group
|
|
Note 20 July 2007</h2>
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720">http://www.w3.org/TR/2007/NOTE-wsdl11elementidentifiers-20070720</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/wsdl11elementidentifiers">http://www.w3.org/TR/wsdl11elementidentifiers</a></dd>
|
|
<dt>Previous version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/WD-wsdl11elementidentifiers-20070330">http://www.w3.org/TR/2007/WD-wsdl11elementidentifiers-20070330</a></dd>
|
|
<dt>Editors:</dt>
|
|
<dd>David Orchard, BEA Systems</dd>
|
|
<dd>Asir S Vedamuthu, Microsoft Corporation</dd>
|
|
<dd>Frederick Hirsch, Nokia</dd>
|
|
<dd>Maryann Hondo, IBM Corporation</dd>
|
|
<dd>Prasad Yendluri, webMethods, Inc.</dd>
|
|
<dd>Toufic Boubez, Layer 7 Technologies</dd>
|
|
<dd>Ümit Yalçinalp, SAP AG.</dd>
|
|
</dl>
|
|
<p>This document is also available in these non-normative formats:
|
|
<a href="wsdl11elementidentifiers.pdf">PDF</a>, <a href=
|
|
"wsdl11elementidentifiers.ps">PostScript</a>, <a href=
|
|
"wsdl11elementidentifiers.xml">XML</a>, and <a href=
|
|
"wsdl11elementidentifiers.xml">plain text</a>.</p>
|
|
<p class="copyright"><a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2007 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
|
|
(<a href="http://www.csail.mit.edu/"><acronym title=
|
|
"Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
|
|
"http://www.ercim.org/"><acronym title=
|
|
"European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
|
|
<a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved.
|
|
W3C <a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
|
|
<a href=
|
|
"http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
|
|
and <a href=
|
|
"http://www.w3.org/Consortium/Legal/copyright-documents">document
|
|
use</a> rules apply.</p>
|
|
</div>
|
|
<hr />
|
|
<div>
|
|
<h2><a name="abstract" id="abstract"></a>Abstract</h2>
|
|
<p>WSDL 1.1 Element Identifiers defines a syntax to identify
|
|
individual elements in a WSDL 1.1 document.</p>
|
|
</div>
|
|
<div>
|
|
<h2><a name="status" id="status"></a>Status of this Document</h2>
|
|
<p><em>This section describes the status of this document at the
|
|
time of its publication. Other documents may supersede this
|
|
document. A list of current W3C publications and the latest
|
|
revision of this technical report can be found in the <a href=
|
|
"http://www.w3.org/TR/">W3C technical reports index</a> at
|
|
http://www.w3.org/TR/.</em></p>
|
|
<p>This is a <a href=
|
|
"http://www.w3.org/2005/10/Process-20051014/tr.html#WGNote">W3C
|
|
Working Group Note</a> of the WSDL 1.1 Element Identifiers
|
|
specification. It was produced by the members of the <a href=
|
|
"http://www.w3.org/2002/ws/policy/">Web Services Policy Working
|
|
Group</a>, which is part of the <a href=
|
|
"http://www.w3.org/2002/ws/Activity">W3C Web Services
|
|
Activity</a>.</p>
|
|
<p>A list of <a href="#changelog">changes in this version of the
|
|
document</a> and a <a href=
|
|
"wsdl11elementidentifiers-diff20070330.html">diff-marked version
|
|
against the previous version of this document</a> are available.
|
|
There are no major editorial changes in this version of the
|
|
document.</p>
|
|
<p>As of the publication of this document as a Working Group Note,
|
|
the Web Services Policy Working Group has completed work on this
|
|
document. Discussion of this document took place on the public
|
|
<a href=
|
|
"mailto:public-ws-policy@w3.org">public-ws-policy@w3.org</a>
|
|
mailing list (<a href=
|
|
"http://lists.w3.org/Archives/Public/public-ws-policy/">public
|
|
archive</a>) and within <a href=
|
|
"http://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=WS-Policy&component=WSDL1.1-Element-Identifiers">
|
|
Bugzilla</a>. Further comments on this specification should be made
|
|
following the <a href=
|
|
"http://www.w3.org/2002/ws/policy/#issues">Description for
|
|
Issues</a> of the Working Group.</p>
|
|
<p>Publication as a Working Group Note does not imply endorsement
|
|
by the W3C Membership. This is a draft document and may be updated,
|
|
replaced or obsoleted by other documents at any time. It is
|
|
inappropriate to cite this document as other than work in
|
|
progress.</p>
|
|
<p>This document was produced by a group operating under the
|
|
<a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
|
|
February 2004 W3C Patent Policy</a>. W3C maintains a <a href=
|
|
"http://www.w3.org/2004/01/pp-impl/39293/status">public list of any
|
|
patent disclosures</a> made in connection with the deliverables of
|
|
the group; that page also includes instructions for disclosing a
|
|
patent. An individual who has actual knowledge of a patent which
|
|
the individual believes contains <a href=
|
|
"http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
|
|
Essential Claim(s)</a> must disclose the information in accordance
|
|
with <a href=
|
|
"http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
|
|
section 6 of the W3C Patent Policy</a>.</p>
|
|
</div>
|
|
<div class="toc">
|
|
<h2><a name="contents" id="contents"></a>Table of Contents</h2>
|
|
<p class="toc">1. <a href="#intro">Introduction</a><br />
|
|
1.1 <a href="#notcon">Notational
|
|
Conventions</a><br />
|
|
2. <a href="#frag-ids">Fragment Identifiers</a><br />
|
|
3. <a href="#wsdl-iri-references">IRI-References for WSDL 1.1
|
|
Elements</a><br />
|
|
3.1 <a href="#wsdl-iris">WSDL 1.1
|
|
IRIs</a><br />
|
|
3.2 <a href="#soap-binding-decl-fragid">IRI
|
|
Identification Of SOAP Binding elements</a><br />
|
|
3.3 <a href=
|
|
"#element-designator-canonical-form">Canonical Form for WSDL 1.1
|
|
element identifiers</a><br />
|
|
3.4 <a href="#Iri-ref-ex">Example</a><br />
|
|
4. <a href="#refs">References</a><br />
|
|
4.1 <a href="#refs-norm">Normative
|
|
References</a><br /></p>
|
|
<h3><a name="appendices" id="appendices"></a>Appendix</h3>
|
|
<p class="toc">A. <a href="#changelog">Change Log</a>
|
|
(Non-Normative)<br /></p>
|
|
</div>
|
|
<hr />
|
|
<div class="body">
|
|
<div class="div1">
|
|
<h2><a name="intro" id="intro"></a>1. Introduction</h2>
|
|
<p>This document defines an element identifier syntax for WSDL 1.1
|
|
elements.</p>
|
|
<div class="div2">
|
|
<h3><a name="notcon" id="notcon"></a>1.1 Notational
|
|
Conventions</h3>
|
|
<p>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
|
|
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
|
|
in this document are to be interpreted as described in RFC 2119
|
|
[<cite><a href="#RFC2119">RFC 2119</a></cite>].</p>
|
|
<p>With the exception of examples and sections explicitly marked as
|
|
"Non-Normative", all parts of this specification are normative.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="frag-ids" id="frag-ids"></a>2. Fragment
|
|
Identifiers</h2>
|
|
<p>This section defines a fragment identifier syntax for
|
|
identifying elements of a WSDL 1.1 document. This fragment
|
|
identifier syntax is compliant with the [<cite><a href=
|
|
"#XPTR">XPointer Framework</a></cite>]. This document is primarily
|
|
based upon [<cite><a href="#WSDL-PART1">WSDL 2.0 Core</a></cite>].
|
|
There is a substantial difference between the WSDL 1.1 and WSDL 2.0
|
|
fragment identifiers.WSDL 2.0 defines fragment identifiers with
|
|
respect to the WSDL 2.0 component model, whereas WSDL 1.1 defines
|
|
XML element and attribute syntax only. Because there is no WSDL 1.1
|
|
component model, the WSDL 1.1 fragment identifiers identify WSDL
|
|
1.1 elements. Note: the fragment identifers identify the WSDL 1.1
|
|
elements prior to any processing of the WSDL document, such as
|
|
validation, inclusion, imports, schema type validation, etc. Note
|
|
further: WSDL 1.1 fragment identifiers require a targetNamespace so
|
|
WSDL 1.1 documents without a targetNamespace will not have fragment
|
|
identifiers.</p>
|
|
<p>A WSDL 1.1 fragment identifier is an XPointer [<cite><a href=
|
|
"#XPTR">XPointer Framework</a></cite>], augmented with WSDL 1.1
|
|
pointer parts as defined below. Note that many of these parts
|
|
require the pre-appearance of one or more <code>xmlns</code>
|
|
pointer parts (see 3.4 Namespace Binding Context in [<cite><a href=
|
|
"#XPTR">XPointer Framework</a></cite>]). The pointer parts have a
|
|
scheme name that corresponds to one of the standard WSDL 1.1
|
|
element names, and scheme data that is a path composed of names
|
|
that identify the elements. The scheme names all begin with the
|
|
prefix "wsdl11." to avoid name conflicts with other schemes. The
|
|
names in the path are of type either QName, NCName, IRI, URI, or
|
|
Pointer Part depending on the context. The scheme data for WSDL 1.1
|
|
extension elements is defined by the corresponding extension
|
|
specification.</p>
|
|
<p>For QNames, any prefix MUST be defined by a preceding xmlns
|
|
pointer part. If a QName does not have a prefix then its namespace
|
|
name is the target namespace of the WSDL 1.1 document.</p>
|
|
<p>The fragment identifier is typically constructed from the
|
|
<code>name</code> property of the element and the <code>name</code>
|
|
properties of its ancestors as a path according to <a href=
|
|
"#frag-ids-table">Table 2-1</a>. The first column of this table
|
|
gives the name of the WSDL 1.1 element. Columns labeled 1 through 3
|
|
specify the identifiers that uniquely identify the element within
|
|
its context. Identifiers are typically formed from the
|
|
<code>name</code> property, although in several cases references to
|
|
other elements are used. These identifiers are then used to
|
|
construct the pointer part in the last column. The fragment
|
|
identifier in a WSDL 1.1 element IRI-reference MUST resolve to some
|
|
element as defined by the construction rules in <a href=
|
|
"#frag-ids-table">Table 2-1</a>.</p>
|
|
<a name="frag-ids-table" id="frag-ids-table"></a>
|
|
<table border="1">
|
|
<caption>Table 2-1. Rules for determining pointer parts for WSDL
|
|
1.1 elements</caption>
|
|
<col width="19%" span="1" />
|
|
<col width="12%" span="1" />
|
|
<col width="12%" span="1" />
|
|
<col width="12%" span="1" />
|
|
<col width="45%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">element</th>
|
|
<th rowspan="1" colspan="1">1</th>
|
|
<th rowspan="1" colspan="1">2</th>
|
|
<th rowspan="1" colspan="1">3</th>
|
|
<th rowspan="1" colspan="1">Pointer Part</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Definitions</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1"><code>wsdl11.definitions()</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Message</td>
|
|
<td rowspan="1" colspan="1"><code>message</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.message(</code><code style="font-style: italic;">message</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Message Part</td>
|
|
<td rowspan="1" colspan="1"><code>message</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>part</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.messagePart(</code><code style=
|
|
"font-style: italic;">message/part</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">portType</td>
|
|
<td rowspan="1" colspan="1"><code>portType</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.portType(</code><code style=
|
|
"font-style: italic;">portType</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">portType Operation</td>
|
|
<td rowspan="1" colspan="1"><code>portType</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.portTypeOperation(</code><code style=
|
|
"font-style: italic;">portType/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">portType Operation Input</td>
|
|
<td rowspan="1" colspan="1"><code>portType</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.portTypeOperation.input(</code><code style=
|
|
"font-style: italic;">portType/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">portType Operation Output</td>
|
|
<td rowspan="1" colspan="1"><code>portType</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.portTypeOperation.output(</code><code style=
|
|
"font-style: italic;">portType/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">portType Operation Fault</td>
|
|
<td rowspan="1" colspan="1"><code>portType</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>fault</code> NCName</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.portTypeOperation.fault(</code><code style=
|
|
"font-style: italic;">portType/operation/fault</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Binding</td>
|
|
<td rowspan="1" colspan="1"><code>binding</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.binding(</code><code style="font-style: italic;">binding</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Binding Operation</td>
|
|
<td rowspan="1" colspan="1"><code>binding</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> QName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.bindingOperation(</code><code style=
|
|
"font-style: italic;">binding/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Binding Operation Input</td>
|
|
<td rowspan="1" colspan="1"><code>binding</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> QName</td>
|
|
<td rowspan="1" colspan="1">na/</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.bindingOperation.input(</code><code style=
|
|
"font-style: italic;">binding/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Binding Operation Output</td>
|
|
<td rowspan="1" colspan="1"><code>binding</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> QName</td>
|
|
<td rowspan="1" colspan="1">na/</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.bindingOperation.output(</code><code style=
|
|
"font-style: italic;">binding/operation</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Binding Operation Fault</td>
|
|
<td rowspan="1" colspan="1"><code>binding</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>operation</code> QName</td>
|
|
<td rowspan="1" colspan="1"><code>fault</code> NCName</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.bindingOperation.fault(</code><code style=
|
|
"font-style: italic;">binding/operation/fault</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Service</td>
|
|
<td rowspan="1" colspan="1"><code>service</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.service(</code><code style="font-style: italic;">service</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">port</td>
|
|
<td rowspan="1" colspan="1"><code>service</code> NCName</td>
|
|
<td rowspan="1" colspan="1"><code>port</code> NCName</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1"><code>wsdl11.port(</code><code style=
|
|
"font-style: italic;">service/port</code><code>)</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">Extensions</td>
|
|
<td rowspan="1" colspan="1"><code>namespace</code> URI</td>
|
|
<td rowspan="1" colspan="1"><code>identifier</code>
|
|
extension-specific-syntax</td>
|
|
<td rowspan="1" colspan="1">n/a</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>wsdl11.extension(</code><code style=
|
|
"font-style: italic;">namespace,identifier</code><code>)</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<br /></div>
|
|
<div class="div1">
|
|
<h2><a name="wsdl-iri-references" id="wsdl-iri-references"></a>3.
|
|
IRI-References for WSDL 1.1 Elements</h2>
|
|
<p>This section provides a syntax for IRI-references for all
|
|
elements found in a [<cite><a href="#WSDL11">WSDL 1.1</a></cite>]
|
|
document. The IRI-references are easy to understand and compare,
|
|
while imposing no burden on the WSDL 1.1 author.</p>
|
|
<div class="div2">
|
|
<h3><a name="wsdl-iris" id="wsdl-iris"></a>3.1 WSDL 1.1 IRIs</h3>
|
|
<p>There are two main cases for WSDL 1.1 IRIs:</p>
|
|
<ul>
|
|
<li>
|
|
<p>the IRI of a WSDL 1.1 document</p>
|
|
</li>
|
|
<li>
|
|
<p>the IRI of a WSDL 1.1 namespace</p>
|
|
</li>
|
|
</ul>
|
|
<p>The IRI of a WSDL 1.1 document can be dereferenced to give a
|
|
resource representation that contributes elements to a single WSDL
|
|
1.1 namespace. If the media type is set to the WSDL 1.1 media type
|
|
i.e. application/xml, then the fragment identifiers can be used to
|
|
identify the main elements that are defined in the document.</p>
|
|
<p>In keeping with WSDL 1.1, which has a recommendation that that
|
|
the namespace URI be dereferencible to a WSDL 1.1 document, this
|
|
section specifies the use of the namespace IRI with the WSDL 1.1
|
|
fragment identifiers to form an IRI-reference.</p>
|
|
<p>The IRI in an IRI-reference for a WSDL 1.1 element is the
|
|
namespace name of the <code>name</code> property of either the
|
|
element itself, in the case of <code>portType</code> ,
|
|
<code>Binding</code> , and <code>Service</code> elements, or the
|
|
<code>name</code> property of the ancestor top-level element. The
|
|
IRI provided by the namespace name of the <code>name</code>
|
|
property is combined with a zero or more <code>xmlns</code> pointer
|
|
parts (see 3.4 Namespace Binding Context in [<cite><a href=
|
|
"#XPTR">XPointer Framework</a></cite>] ) followed by a single WSDL
|
|
1.1 pointer part, following the same rules as defined for WSDL 1.1
|
|
fragment ids <a href="#frag-ids"><b>2. Fragment Identifiers</b></a>
|
|
.</p>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-binding-decl-fragid" id=
|
|
"soap-binding-decl-fragid"></a>3.2 IRI Identification Of SOAP
|
|
Binding elements</h3>
|
|
<p><code>SOAP Binding</code> elements (binding, operation, body,
|
|
header, fault, headerfault, and address) can be identified using
|
|
the <em>wsdl11.extension</em> XPointer Framework scheme according
|
|
to the following rules:</p>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.binding(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>), where:</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Binding's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.operation(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Operation's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.body(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Body's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.header(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Header's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.headerfault(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP HeaderFault's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.fault(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Fault's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
<p><code>wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.address(</code><code style=
|
|
"font-style: italic;">parent</code><code>)</code>)</p>
|
|
<ul>
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
<code>SOAP Address's parent</code> element</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="element-designator-canonical-form" id=
|
|
"element-designator-canonical-form"></a>3.3 Canonical Form for WSDL
|
|
1.1 element identifiers</h3>
|
|
<p>The IRI-references described above MAY be used as WSDL 1.1
|
|
element identifiers. For ease of comparison, the fragment
|
|
identifier of WSDL 1.1 element identifiers SHOULD conform to the
|
|
following canonicalization rules:</p>
|
|
<ul>
|
|
<li>
|
|
<p>The fragment identifier consists of a sequence zero or more
|
|
<code>xmlns()</code> pointer parts followed by exactly one
|
|
<code>wsd11.*()</code> pointer part.</p>
|
|
</li>
|
|
<li>
|
|
<p>Each <code>xmlns()</code> pointer part that appears in the
|
|
fragment identifier defines a namespace that is referenced by the
|
|
<code>wsd11.*()</code> pointer part.</p>
|
|
</li>
|
|
<li>
|
|
<p>Each <code>xmlns()</code> pointer part defines a unique
|
|
namespace.</p>
|
|
</li>
|
|
<li>
|
|
<p>The <code>xmlns()</code> pointer parts define namespaces in the
|
|
same order as they are referenced in the <code>wsd11.*()</code>
|
|
pointer part.</p>
|
|
</li>
|
|
<li>
|
|
<p>The namespace prefixes defined by the <code>xmlns()</code>
|
|
pointer parts are named <code>ns1</code> , <code>ns2</code> , etc.,
|
|
in the order of their appearance.</p>
|
|
</li>
|
|
<li>
|
|
<p>The fragment identifier contains no optional whitespace.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="Iri-ref-ex" id="Iri-ref-ex"></a>3.4 Example</h3>
|
|
<p>Consider WSDL 1.1 document located at
|
|
http://example.org/TicketAgent.wsdl. Each WSDL 1.1 Element
|
|
Identifier is shown in comments above the WSDL 1.1 element</p>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><a name=
|
|
"iri-ref-example-wsdl" id=
|
|
"iri-ref-example-wsdl"></a><i><span>Example 3-1.</span>
|
|
IRI-References - Example WSDL 1.1 Document</i></p>
|
|
<div class="exampleInner">
|
|
<pre>
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<wsdl:definitions targetNamespace="http://example.org/TicketAgent.wsdl11"
|
|
xmlns:tns="http://example.org/TicketAgent.wsdl11"
|
|
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:xsTicketAgent="http://example.org/TicketAgent.xsd"
|
|
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
|
xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://www.w3.org/TR/2001/NOTE-wsdl-20010315/wsdl11.xsd">
|
|
|
|
<!-- http://example.org/TicketAgent.wsdl11#wsd11.definitions() -->
|
|
|
|
<wsdl:types>
|
|
<xs:schema xmlns:xsTicketAgent="http://example.org/TicketAgent.xsd"
|
|
targetNamespace="http://example.org/TicketAgent.xsd">
|
|
<xs:element name="listFlightsRequest" type="xsTicketAgent:tListFlights"/>
|
|
<xs:complexType name="tListFlights">
|
|
<xs:sequence>
|
|
<xs:element name="travelDate" type="xs:date"/>
|
|
<xs:element name="startCity" type="xs:string"/>
|
|
<xs:element name="endCity" type="xs:string"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
<xs:element name="listFlightsResponse" type="xsTicketAgent:tFlightsResponse"/>
|
|
<xs:complexType name="tFlightsResponse">
|
|
<xs:sequence>
|
|
<xs:element name="flightNumber" type="xs:integer" minOccurs="0"
|
|
maxOccurs="unbounded"/>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:schema>
|
|
</wsdl:types>
|
|
|
|
<wsdl:message name="listFlightsRequest">
|
|
<!-- Starting from here, http://example.org/TicketAgent.wsdl11 will be shortened to http://... -->
|
|
<!-- http://...#wsdl11.message(listFlightsRequest) -->
|
|
<wsdl:part name="body" element="xsTicketAgent:listFlightsRequest"/>
|
|
<!-- http://...#wsdl11.messagePart(listFlightsRequest/body) -->
|
|
</wsdl:message>
|
|
|
|
<wsdl:message name="listFlightsResponse">
|
|
<!-- http://...#wsdl11.message(listFlightsResponse) -->
|
|
<wsdl:part name="body" element="xsTicketAgent:listFlightsResponse"/>
|
|
<!-- http://...#wsdl11.messagePart(listFlightsResponse/body) -->
|
|
</wsdl:message>
|
|
|
|
<wsdl:portType name="TicketAgent">
|
|
<!-- http://...#wsdl11.portType(TicketAgent) -->
|
|
<wsdl:operation name="listFlights">
|
|
<!-- http://...#wsdl11.portTypeOperation(TicketAgent/listFlights) -->
|
|
<wsdl:input message="tns:listFlightsRequest"/>
|
|
<!-- http://...#wsdl11.portTypeOperation.input(TicketAgent/listFlights) -->
|
|
<wsdl:output message="tns:listFlightsResponse"/>
|
|
<!-- http://...#wsdl11.portTypeOperation.output(TicketAgent/listFlights) -->
|
|
</wsdl:operation>
|
|
</wsdl:portType>
|
|
|
|
<wsdl:binding name="TicketAgentSoap" type="tns:TicketAgent">
|
|
<!-- http://...#wsdl11.binding(TicketAgentSoap) -->
|
|
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
|
<!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.binding( wsdl11.binding(TicketAgentSoap)) -->
|
|
<wsdl:operation name="listFlights">
|
|
<!-- http://...#wsdl11.bindingOperation(TicketAgentSoap/listFlights) -->
|
|
<wsdl:input>
|
|
<!-- http://...#wsdl11.bindingOperation.input(TicketAgentSoap/listFlights) -->
|
|
<soap:body parts="body" use="literal"/>
|
|
<!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.body(wsdl11.bindingOperation.input
|
|
(TicketAgentSoap/listFlights)) -->
|
|
</wsdl:input>
|
|
<wsdl:output>
|
|
<!-- http://...#wsdl11.bindingOperation.output(TicketAgentSoap/listFlights) -->
|
|
<soap:body parts="body" use="literal"/>
|
|
<!-- http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,
|
|
w11soap.body(wsdl11.bindingOperation.output
|
|
(TicketAgentSoap/listFlights)) -->
|
|
</wsdl:output>
|
|
</wsdl:operation>
|
|
</wsdl:binding>
|
|
|
|
</wsdl:definitions>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="refs" id="refs"></a>4. References</h2>
|
|
<div class="div2">
|
|
<h3><a name="refs-norm" id="refs-norm"></a>4.1 Normative
|
|
References</h3>
|
|
<dl>
|
|
<dt class="label"><a name="RFC3023" id="RFC3023"></a>[RFC
|
|
3023]</dt>
|
|
<dd>IETF "RFC 3023: XML Media Types", M. Murata, S. St. Laurent, D.
|
|
Kohn, July 1998. (See <cite><a href=
|
|
"http://www.ietf.org/rfc/rfc3023.txt">http://www.ietf.org/rfc/rfc3023.txt</a></cite>.)</dd>
|
|
<dt class="label"><a name="WSDL-PART1" id="WSDL-PART1"></a>[WSDL
|
|
2.0 Core]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626">Web Services
|
|
definitions Language (WSDL) Version 2.0 Part 1: Core
|
|
Language</a></cite> , R. Chinnici, J-J. Moreau, A. Ryman, S.
|
|
Weerawarana, Editors. W3C Recommendation 26 June 2007. The current
|
|
version of <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626">Web Services
|
|
definitions Language (WSDL) Version 2.0 Part 1: Core Language</a>
|
|
is available at http://www.w3.org/TR/2007/REC-wsdl20-20070626 . The
|
|
<a href="http://www.w3.org/TR/wsdl20">latest version of "Web
|
|
Services definitions Language (WSDL) Version 2.0 Part 1: Core
|
|
Language"</a> is available at http://www.w3.org/TR/wsdl20.</dd>
|
|
<dt class="label"><a name="WSDL11" id="WSDL11"></a>[WSDL 1.1]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2001/NOTE-wsdl-20010315">Web Services
|
|
definitions Language (WSDL) 1.1</a></cite>, E. Christensen, F.
|
|
Curbera, G. Meredith, and S. Weerawarana, Authors. W3C Note 15
|
|
March 2002. The current version of <a href=
|
|
"http://www.w3.org/TR/2001/NOTE-wsdl-20010315">Web Services
|
|
Description Language (WSDL) 1.1</a> is available at
|
|
http://www.w3.org/TR/2001/NOTE-wsdl-20010315 . The <a href=
|
|
"http://www.w3.org/TR/wsdl">latest version of Web Services
|
|
definitions Language 1.1</a> is available at
|
|
http://www.w3.org/TR/wsdl11.</dd>
|
|
<dt class="label"><a name="XPTR" id="XPTR"></a>[XPointer
|
|
Framework]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2003/REC-xptr-framework-20030325/">XPointer
|
|
Framework</a></cite>,Paul Grosso, Eve Maler, Jonathan Marsh, Norman
|
|
Walsh, Editors. W3C Recommendation 25 March 2003. The current
|
|
version of <a href=
|
|
"http://www.w3.org/TR/2001/NOTE-wsdl-20010315">XPointer
|
|
Framework</a> is available at
|
|
http://www.w3.org/TR/2003/REC-xptr-framework-20030325/ . The
|
|
<a href="http://www.w3.org/TR/xptr-framework/">latest version of
|
|
XPointer Framework</a> is available at
|
|
http://www.w3.org/TR/xptr-framework/.</dd>
|
|
<dt class="label"><a name="RFC2119" id="RFC2119"></a>[RFC
|
|
2119]</dt>
|
|
<dd>IETF "RFC 2119: Key words for use in RFCs to Indicate
|
|
Requirement Levels", S. Bradner, March 1997. (See <cite><a href=
|
|
"http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a></cite>.)</dd>
|
|
<dt class="label"><a name="RFC3986" id="RFC3986"></a>[RFC
|
|
3986]</dt>
|
|
<dd>IETF "RFC 3986: Uniform Resource Identifiers (URI): Generic
|
|
Syntax", T. Berners-Lee, R. Fielding, L. Masinter, January 2005.
|
|
(See <cite><a href=
|
|
"http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a></cite>.)</dd>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="back">
|
|
<div class="div1">
|
|
<h2><a name="changelog" id="changelog"></a>A. Change Log
|
|
(Non-Normative)</h2>
|
|
<table border="1">
|
|
<caption>Table A-1. Changes</caption>
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Who</th>
|
|
<th rowspan="1" colspan="1">When</th>
|
|
<th rowspan="1" colspan="1">What</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20061108</td>
|
|
<td rowspan="1" colspan="1">Initial Revision</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20061212</td>
|
|
<td rowspan="1" colspan="1">Uncommented canonical section, fixed
|
|
editorial items</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20070122</td>
|
|
<td rowspan="1" colspan="1">Resolution of bug <a href=
|
|
"http://www.w3.org/Bugs/Public/show_bug.cgi?id=4208">4208</a>, AI
|
|
is <a href=
|
|
"http://www.w3.org/2005/06/tracker/wspolicyeds/actions/145">145</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">FS</td>
|
|
<td rowspan="1" colspan="1">20070127</td>
|
|
<td rowspan="1" colspan="1">Editorial fixes for publication
|
|
preparation</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20070219</td>
|
|
<td rowspan="1" colspan="1">Changed MessageReference to .input and
|
|
.output, resolution of bug <a href=
|
|
"http://www.w3.org/Bugs/Public/show_bug.cgi?id=4251">4251</a>, AI
|
|
is <a href=
|
|
"http://www.w3.org/2005/06/tracker/wspolicyeds/actions/150">150</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20070308</td>
|
|
<td rowspan="1" colspan="1">Added note about targetnamespace being
|
|
required. <a href=
|
|
"http://www.w3.org/Bugs/Public/show_bug.cgi?id=4331">4331</a>, AI
|
|
is <a href=
|
|
"http://www.w3.org/2005/06/tracker/wspolicyeds/actions/177">177</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DBO</td>
|
|
<td rowspan="1" colspan="1">20070308</td>
|
|
<td rowspan="1" colspan="1">Removed Schema element and type defs.
|
|
<a href=
|
|
"http://www.w3.org/Bugs/Public/show_bug.cgi?id=4332">4332</a>, AI
|
|
is <a href=
|
|
"http://www.w3.org/2005/06/tracker/wspolicyeds/actions/178">178</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">FS</td>
|
|
<td rowspan="1" colspan="1">20070717</td>
|
|
<td rowspan="1" colspan="1">Updated Reference to WSDL20</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<br /></div>
|
|
</div>
|
|
</body>
|
|
</html>
|