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.
8450 lines
347 KiB
8450 lines
347 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 http-equiv="Content-Type" content=
|
|
"text/html; charset=utf-8" />
|
|
<title>Web Services Description Language (WSDL) Version 2.0 Part 2:
|
|
Adjuncts</title>
|
|
|
|
<style type="text/css" xml:space="preserve">
|
|
/*<![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}
|
|
|
|
th { color: #000000; background-color: #CCCC99; }
|
|
span.test-assertion { background-color: #FFC0CB; }
|
|
span.test-assertion-tr:hover { background-color: #FFC0CB; }
|
|
/*]]>*/
|
|
</style>
|
|
<link rel="stylesheet" type="text/css" href=
|
|
"http://www.w3.org/StyleSheets/TR/W3C-REC.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>Web Services Description
|
|
Language (WSDL) Version 2.0 Part 2: Adjuncts</h1>
|
|
<h2><a name="w3c-doctype" id="w3c-doctype"></a>W3C Recommendation
|
|
26 June 2007</h2>
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626">http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/wsdl20-adjuncts">http://www.w3.org/TR/wsdl20-adjuncts</a></dd>
|
|
<dt>Previous version:</dt>
|
|
<dd><a href=
|
|
"http://www.w3.org/TR/2007/PR-wsdl20-adjuncts-20070523">http://www.w3.org/TR/2007/PR-wsdl20-adjuncts-20070523</a></dd>
|
|
<dt>Editors:</dt>
|
|
<dd>Roberto Chinnici, Sun Microsystems</dd>
|
|
<dd>Hugo Haas, W3C</dd>
|
|
<dd>Amelia A. Lewis, TIBCO Software</dd>
|
|
<dd>Jean-Jacques Moreau, Canon</dd>
|
|
<dd>David Orchard, BEA Systems</dd>
|
|
<dd>Sanjiva Weerawarana, WSO2</dd>
|
|
</dl>
|
|
<p>Please refer to the <a href=
|
|
"http://www.w3.org/2007/06/wsdl20-errata.html"><strong>errata</strong></a>
|
|
for this document, which may include some normative
|
|
corrections.</p>
|
|
<p>This document is also available in these non-normative formats:
|
|
<a href="wsdl20-adjuncts.pdf">PDF</a>, <a href=
|
|
"wsdl20-adjuncts.ps">PostScript</a>, <a href=
|
|
"wsdl20-adjuncts.xml">XML</a>, and <a href=
|
|
"wsdl20-adjuncts.txt">plain text</a>.</p>
|
|
<p>See also <a href=
|
|
"http://www.w3.org/2003/03/Translations/byTechnology?technology=wsdl20-adjuncts">
|
|
<strong>translations</strong></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 2.0 is the Web Services Description Language, an XML
|
|
language for describing Web services. This document, "Web Services
|
|
Description Language (WSDL) Version 2.0 Part 2: Adjuncts",
|
|
specifies predefined extensions for use in WSDL 2.0:</p>
|
|
<ul>
|
|
<li>
|
|
<p>Message exchange patterns</p>
|
|
</li>
|
|
<li>
|
|
<p>Operation safety</p>
|
|
</li>
|
|
<li>
|
|
<p>Operation styles</p>
|
|
</li>
|
|
<li>
|
|
<p>Binding extensions for SOAP and HTTP</p>
|
|
</li>
|
|
</ul>
|
|
</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 the <a href=
|
|
"http://www.w3.org/2005/10/Process-20051014/tr.html#RecsW3C">W3C
|
|
Recommendation</a> of Web Services Description Language (WSDL)
|
|
Version 2.0 Part 2: Adjuncts for review by W3C Members and other
|
|
interested parties. It has been produced by the <a href=
|
|
"http://www.w3.org/2002/ws/desc/">Web Services Description Working
|
|
Group</a>, which is part of the <a href=
|
|
"http://www.w3.org/2002/ws/Activity">W3C Web Services
|
|
Activity</a>.</p>
|
|
<p>Please send comments about this document to the public <a href=
|
|
"mailto:public-ws-desc-comments@w3.org">public-ws-desc-comments@w3.org</a>
|
|
mailing list (<a href=
|
|
"http://lists.w3.org/Archives/Public/public-ws-desc-comments/">public
|
|
archive</a>).</p>
|
|
<p>The Working Group released a test suite along with an <a href=
|
|
"http://www.w3.org/2002/ws/desc/5/impl-report/">implementation
|
|
report</a>. A <a href="wsdl20-adjuncts-diff.html">diff-marked
|
|
version against the previous version of this document</a> is
|
|
available.</p>
|
|
<p>This document has been reviewed by W3C Members, by software
|
|
developers, and by other W3C groups and interested parties, and is
|
|
endorsed by the Director as a W3C Recommendation. It is a stable
|
|
document and may be used as reference material or cited from
|
|
another document. W3C's role in making the Recommendation is to
|
|
draw attention to the specification and to promote its widespread
|
|
deployment. This enhances the functionality and interoperability of
|
|
the Web.</p>
|
|
<p>This document is governed by the <a href=
|
|
"http://www.w3.org/TR/2002/NOTE-patent-practice-20020124">24
|
|
January 2002 CPP</a> as amended by the <a href=
|
|
"http://www.w3.org/2004/02/05-pp-transition">W3C Patent Policy
|
|
Transition Procedure</a>. W3C maintains a <a href=
|
|
"http://www.w3.org/2002/ws/desc/2/04/24-IPR-statements.html">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 />
|
|
    1.2 <a href="#assertions">Assertions</a>
|
|
<br />
|
|
2. <a href="#meps">Predefined Message Exchange Patterns</a>
|
|
<br />
|
|
    2.1 <a href="#mep-template">Template for
|
|
Message Exchange Patterns</a>
|
|
<br />
|
|
        2.1.1 <a href=
|
|
"#template-sample">Pattern Name</a>
|
|
<br />
|
|
    2.2 <a href="#fault-rules">Fault
|
|
Propagation Rules</a>
|
|
<br />
|
|
        2.2.1 <a href=
|
|
"#fault-replacement">Fault Replaces Message propagation rule</a>
|
|
<br />
|
|
        2.2.2 <a href=
|
|
"#fault-trigger">Message Triggers Fault propagation rule</a>
|
|
<br />
|
|
        2.2.3 <a href=
|
|
"#no-fault">No Faults propagation rule</a>
|
|
<br />
|
|
    2.3 <a href="#patterns">Message Exchange
|
|
Patterns</a>
|
|
<br />
|
|
        2.3.1 <a href=
|
|
"#in-only">In-Only message exchange pattern</a>
|
|
<br />
|
|
        2.3.2 <a href=
|
|
"#robust-in-only">Robust In-Only message exchange pattern</a>
|
|
<br />
|
|
        2.3.3 <a href=
|
|
"#in-out">In-Out message exchange pattern</a>
|
|
<br />
|
|
    2.4 <a href="#mep-sec-sec">Security
|
|
Considerations</a>
|
|
<br />
|
|
3. <a href="#ext">Predefined Extensions</a>
|
|
<br />
|
|
    3.1 <a href="#safety">Operation safety</a>
|
|
<br />
|
|
        3.1.1 <a href=
|
|
"#safety-decl-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        3.1.2 <a href=
|
|
"#safety-decl-xml">XML Representation</a>
|
|
<br />
|
|
        3.1.3 <a href=
|
|
"#safety-decl-mapping">Mapping from XML Representation to Component
|
|
Properties</a>
|
|
<br />
|
|
4. <a href="#styles">Predefined Operation Styles</a>
|
|
<br />
|
|
    4.1 <a href="#RPCStyle">RPC Style</a>
|
|
<br />
|
|
        4.1.1 <a href=
|
|
"#InterfaceOperation_RPC_Signature_Definition">wrpc:signature
|
|
Extension</a>
|
|
<br />
|
|
        4.1.2 <a href=
|
|
"#InterfaceOperation_RPC_Signature_XMLRep">XML Representation of
|
|
the wrpc:signature Extension</a>
|
|
<br />
|
|
        4.1.3 <a href=
|
|
"#InterfaceOperation_RPC_Signature_Mapping">wrpc:signature
|
|
Extension Mapping To Properties of an Interface Operation
|
|
component</a>
|
|
<br />
|
|
    4.2 <a href="#_operation_iri_style">IRI
|
|
Style</a>
|
|
<br />
|
|
    4.3 <a href=
|
|
"#_operation_multipart_style">Multipart style</a>
|
|
<br />
|
|
5. <a href="#soap-binding">WSDL SOAP Binding Extension</a>
|
|
<br />
|
|
    5.1 <a href="#soap-syntax">SOAP Syntax
|
|
Summary (Non-Normative)</a>
|
|
<br />
|
|
    5.2 <a href=
|
|
"#soap-binding-decl">Identifying the use of the SOAP Binding</a>
|
|
<br />
|
|
    5.3 <a href="#soap-defaults">SOAP Binding
|
|
Rules</a>
|
|
<br />
|
|
    5.4 <a href="#soap-version">Specifying the
|
|
SOAP Version</a>
|
|
<br />
|
|
        5.4.1 <a href=
|
|
"#soap-version-description">Description</a>
|
|
<br />
|
|
        5.4.2 <a href=
|
|
"#soap-version-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        5.4.3 <a href=
|
|
"#soap-version-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.4.4 <a href=
|
|
"#soap-version-decl-mapping">Mapping from XML Representation to
|
|
Component properties</a>
|
|
<br />
|
|
    5.5 <a href="#soap-protocol">Specifying the
|
|
SOAP Underlying Protocol</a>
|
|
<br />
|
|
        5.5.1 <a href=
|
|
"#soap-protocol-description">Description</a>
|
|
<br />
|
|
        5.5.2 <a href=
|
|
"#soap-protocol-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        5.5.3 <a href=
|
|
"#soap-binding-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.5.4 <a href=
|
|
"#soap-binding-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    5.6 <a href="#soap-fault-decl">Binding
|
|
Faults</a>
|
|
<br />
|
|
        5.6.1 <a href=
|
|
"#soap-fault-decl-description">Description</a>
|
|
<br />
|
|
        5.6.2 <a href=
|
|
"#soap-fault-decl-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        5.6.3 <a href=
|
|
"#soap-fault-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.6.4 <a href=
|
|
"#soap-fault-decl-mapping">Mapping XML Representation to Component
|
|
Properties</a>
|
|
<br />
|
|
    5.7 <a href="#soap-operation-decl">Binding
|
|
Operations</a>
|
|
<br />
|
|
        5.7.1 <a href=
|
|
"#soap-operation-decl-description">Description</a>
|
|
<br />
|
|
        5.7.2 <a href=
|
|
"#soap-operation-decl-relate">Relationship to WSDL Component
|
|
Model</a>
|
|
<br />
|
|
        5.7.3 <a href=
|
|
"#soap-operation-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.7.4 <a href=
|
|
"#soap-operation-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    5.8 <a href="#soap-module-decl">Declaring
|
|
SOAP Modules</a>
|
|
<br />
|
|
        5.8.1 <a href=
|
|
"#soap-module-decl-description">Description</a>
|
|
<br />
|
|
        5.8.2 <a href=
|
|
"#soap-module-decl-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        5.8.3 <a href=
|
|
"#soap-module-decl-property">SOAP Module component</a>
|
|
<br />
|
|
        5.8.4 <a href=
|
|
"#soap-module-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.8.5 <a href=
|
|
"#soap-module-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
        5.8.6 <a href=
|
|
"#soap-module-decl-fragid">IRI Identification Of A SOAP Module
|
|
component</a>
|
|
<br />
|
|
    5.9 <a href="#soap-headers-decl">Declaring
|
|
SOAP Header Blocks</a>
|
|
<br />
|
|
        5.9.1 <a href=
|
|
"#soap-headers-decl-description">Description</a>
|
|
<br />
|
|
        5.9.2 <a href=
|
|
"#soap-headers-decl-relate">Relationship to WSDL Component
|
|
Model</a>
|
|
<br />
|
|
        5.9.3 <a href=
|
|
"#soap-header-decl-property">SOAP Header Block component</a>
|
|
<br />
|
|
        5.9.4 <a href=
|
|
"#soap-headers-decl-xml">XML Representation</a>
|
|
<br />
|
|
        5.9.5 <a href=
|
|
"#soap-headers-decl-mapping">Mapping XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
        5.9.6 <a href=
|
|
"#soap-headers-decl-fragid">IRI Identification Of A SOAP Header
|
|
Block component</a>
|
|
<br />
|
|
    5.10 <a href="#soap12-binding">WSDL SOAP
|
|
1.2 Binding</a>
|
|
<br />
|
|
        5.10.1 <a href=
|
|
"#soap12-binding-decl">Identifying a WSDL SOAP 1.2 Binding</a>
|
|
<br />
|
|
        5.10.2 <a href=
|
|
"#soap12-binding-description">Description</a>
|
|
<br />
|
|
        5.10.3 <a href=
|
|
"#soap12-defaults">SOAP 1.2 Binding Rules</a>
|
|
<br />
|
|
        5.10.4 <a href=
|
|
"#wsdl-mep-soap-mep">Binding WSDL 2.0 MEPs to SOAP 1.2 MEPs</a>
|
|
<br />
|
|
            5.10.4.1
|
|
<a href="#in-out-soap-r-r">WSDL In-Out to SOAP Request-Response</a>
|
|
<br />
|
|
                5.10.4.1.1
|
|
<a href="#in-out-soap-r-r-client">The Client</a>
|
|
<br />
|
|
                5.10.4.1.2
|
|
<a href="#in-out-soap-r-r-service">The Service</a>
|
|
<br />
|
|
            5.10.4.2
|
|
<a href="#in-out-soap-r">WSDL In-Out to SOAP SOAP-Response</a>
|
|
<br />
|
|
                5.10.4.2.1
|
|
<a href="#in-out-soap-r-client">The Client</a>
|
|
<br />
|
|
                5.10.4.2.2
|
|
<a href="#in-out-soap-r-service">The Service</a>
|
|
<br />
|
|
            5.10.4.3
|
|
<a href="#in-only-soap-r-r">WSDL In-Only to SOAP
|
|
Request-Response</a>
|
|
<br />
|
|
                5.10.4.3.1
|
|
<a href="#in-only-soap-r-r-client">The Client</a>
|
|
<br />
|
|
                5.10.4.3.2
|
|
<a href="#in-only-soap-r-r-service">The Service</a>
|
|
<br />
|
|
            5.10.4.4
|
|
<a href="#robust-in-only-soap-r-r">WSDL Robust-In-Only to SOAP
|
|
Request-Response</a>
|
|
<br />
|
|
                5.10.4.4.1
|
|
<a href="#robust-in-only-soap-r-r-client">The Client</a>
|
|
<br />
|
|
                5.10.4.4.2
|
|
<a href="#robust-in-only-soap-r-r-service">The Service</a>
|
|
<br />
|
|
    5.11 <a href=
|
|
"#soap-conformance">Conformance</a>
|
|
<br />
|
|
6. <a href="#http-binding">WSDL HTTP Binding Extension</a>
|
|
<br />
|
|
    6.1 <a href="#http-binding-id">Identifying
|
|
the use of the HTTP Binding</a>
|
|
<br />
|
|
    6.2 <a href="#http-syntax">HTTP Syntax
|
|
Summary (Non-Normative)</a>
|
|
<br />
|
|
    6.3 <a href=
|
|
"#http-binding-supported-extensions">Supported Extensions</a>
|
|
<br />
|
|
    6.4 <a href=
|
|
"#_http_binding_default_rules">HTTP Binding Rules</a>
|
|
<br />
|
|
        6.4.1 <a href=
|
|
"#_http_binding_default_rule_method">HTTP Method Selection</a>
|
|
<br />
|
|
        6.4.2 <a href=
|
|
"#_http_binding_default_rule_coding">HTTP Content Encoding
|
|
Selection</a>
|
|
<br />
|
|
        6.4.3 <a href=
|
|
"#_http_binding_default_rule_psf">Payload Construction And
|
|
Serialization Format</a>
|
|
<br />
|
|
            6.4.3.1
|
|
<a href="#_http_ser_xml">Serialization rules for XML messages</a>
|
|
<br />
|
|
        6.4.4 <a href=
|
|
"#_http_binding_default_rule_dsf">Default input and output
|
|
serialization format</a>
|
|
<br />
|
|
        6.4.5 <a href=
|
|
"#_http_default_rule_head">HTTP Header Construction</a>
|
|
<br />
|
|
        6.4.6 <a href=
|
|
"#_http_request_iri_">HTTP Request IRI</a>
|
|
<br />
|
|
    6.5 <a href="#http-operation-decl">Binding
|
|
Operations</a>
|
|
<br />
|
|
        6.5.1 <a href=
|
|
"#http-operation-decl-dest">Description</a>
|
|
<br />
|
|
        6.5.2 <a href=
|
|
"#http-operation-decl-relate">Relationship to WSDL Component
|
|
Model</a>
|
|
<br />
|
|
        6.5.3 <a href=
|
|
"#_http_ser_val">Specification of serialization rules allowed</a>
|
|
<br />
|
|
        6.5.4 <a href=
|
|
"#http-operation-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.5.5 <a href=
|
|
"#http-operation-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    6.6 <a href="#http-headers-decl">Declaring
|
|
HTTP Headers</a>
|
|
<br />
|
|
        6.6.1 <a href=
|
|
"#http-headers-decl-description">Description</a>
|
|
<br />
|
|
        6.6.2 <a href=
|
|
"#http-headers-decl-relate">Relationship to WSDL Component
|
|
Model</a>
|
|
<br />
|
|
        6.6.3 <a href=
|
|
"#http-header-decl-property">HTTP Header component</a>
|
|
<br />
|
|
        6.6.4 <a href=
|
|
"#http-headers-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.6.5 <a href=
|
|
"#http-headers-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
        6.6.6 <a href=
|
|
"#http-headers-decl-fragid">IRI Identification Of An HTTP Header
|
|
component</a>
|
|
<br />
|
|
    6.7 <a href="#http-fault-decl">Specifying
|
|
HTTP Error Code for Faults</a>
|
|
<br />
|
|
        6.7.1 <a href=
|
|
"#http-fault-decl-description">Description</a>
|
|
<br />
|
|
        6.7.2 <a href=
|
|
"#http-fault-decl-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        6.7.3 <a href=
|
|
"#http-fault-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.7.4 <a href=
|
|
"#http-fault-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    6.8 <a href=
|
|
"#_http_serialization">Serialization Format of Instance Data</a>
|
|
<br />
|
|
        6.8.1 <a href=
|
|
"#_http_location_template">Serialization of the instance data in
|
|
parts of the HTTP request IRI</a>
|
|
<br />
|
|
            6.8.1.1
|
|
<a href="#_http_operation_location_cited_ser">Construction of the
|
|
request IRI using the {http location} property</a>
|
|
<br />
|
|
        6.8.2 <a href=
|
|
"#_http_x-www-form-urlencoded">Serialization as
|
|
application/x-www-form-urlencoded</a>
|
|
<br />
|
|
            6.8.2.1
|
|
<a href="#_http_operation_location_cited_get">Case of elements
|
|
cited in the {http location} property</a>
|
|
<br />
|
|
            6.8.2.2
|
|
<a href="#_http_operation_location_notcited_get">Serialization of
|
|
content of the instance data not cited in the {http location}
|
|
property</a>
|
|
<br />
|
|
                6.8.2.2.1
|
|
<a href="#_http_operation_location_query_constr">Construction of
|
|
the query string</a>
|
|
<br />
|
|
                6.8.2.2.2
|
|
<a href="#_http_urlencoded_stop">Controlling the serialization of
|
|
the query string in the request IRI</a>
|
|
<br />
|
|
                6.8.2.2.3
|
|
<a href="#_http_operation_location_notcited_iri">Serialization in
|
|
the request IRI</a>
|
|
<br />
|
|
                6.8.2.2.4
|
|
<a href="#_http_operation_location_notcited_body">Serialization in
|
|
the message body</a>
|
|
<br />
|
|
        6.8.3 <a href=
|
|
"#_http_operation_xml_encoding">Serialization as
|
|
application/xml</a>
|
|
<br />
|
|
        6.8.4 <a href=
|
|
"#_http_operation_multipart_encoding">Serialization as
|
|
multipart/form-data</a>
|
|
<br />
|
|
    6.9 <a href=
|
|
"#http-content-encoding-decl">Specifying the Content Encoding</a>
|
|
<br />
|
|
        6.9.1 <a href=
|
|
"#http-content-encoding-description">Description</a>
|
|
<br />
|
|
        6.9.2 <a href=
|
|
"#http-content-encoding-relate">Relationship to WSDL Component
|
|
Model</a>
|
|
<br />
|
|
        6.9.3 <a href=
|
|
"#http-content-encoding-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.9.4 <a href=
|
|
"#http-content-encoding-decl-mapping">Mapping from XML
|
|
Representation to Component Properties</a>
|
|
<br />
|
|
    6.10 <a href=
|
|
"#http-cookies-decl">Specifying the Use of HTTP Cookies</a>
|
|
<br />
|
|
        6.10.1 <a href=
|
|
"#http-cookies-description">Description</a>
|
|
<br />
|
|
        6.10.2 <a href=
|
|
"#http-cookies-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        6.10.3 <a href=
|
|
"#http-cookies-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.10.4 <a href=
|
|
"#http-cookies-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    6.11 <a href="#http-auth-decl">Specifying
|
|
HTTP Access Authentication</a>
|
|
<br />
|
|
        6.11.1 <a href=
|
|
"#http-auth-description">Description</a>
|
|
<br />
|
|
        6.11.2 <a href=
|
|
"#http-auth-relate">Relationship to WSDL Component Model</a>
|
|
<br />
|
|
        6.11.3 <a href=
|
|
"#http-auth-decl-xml">XML Representation</a>
|
|
<br />
|
|
        6.11.4 <a href=
|
|
"#http-auth-decl-mapping">Mapping from XML Representation to
|
|
Component Properties</a>
|
|
<br />
|
|
    6.12 <a href=
|
|
"#http-conformance">Conformance</a>
|
|
<br />
|
|
7. <a href="#References">References</a>
|
|
<br />
|
|
    7.1 <a href=
|
|
"#Normative-References">Normative References</a>
|
|
<br />
|
|
    7.2 <a href=
|
|
"#Informative-References">Informative References</a>
|
|
<br /></p>
|
|
<h3><a name="appendices" id="appendices"></a>Appendices</h3>
|
|
<p class="toc">A. <a href="#acknowledgments">Acknowledgements</a>
|
|
(Non-Normative)
|
|
<br />
|
|
B. <a href="#component_summary">Component Summary</a>
|
|
(Non-Normative)
|
|
<br />
|
|
C. <a href="#assertionsummary">Assertion Summary</a>
|
|
(Non-Normative)
|
|
<br /></p>
|
|
</div>
|
|
<hr />
|
|
<div class="body">
|
|
<div class="div1">
|
|
<h2><a name="intro" id="intro"></a>1. Introduction</h2>
|
|
<p>The Web Services Description Language Version 2.0 (WSDL 2.0)
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]
|
|
provides a model and an XML format for describing Web services.
|
|
WSDL 2.0 enables one to separate the description of the abstract
|
|
functionality offered by a service from concrete details of a
|
|
service description such as "how" and "where" that functionality is
|
|
offered.</p>
|
|
<p>This document, "Web Services Description Language (WSDL) Version
|
|
2.0 Part 2: Adjuncts", specifies predefined extensions for use in
|
|
WSDL 2.0:</p>
|
|
<ul>
|
|
<li>
|
|
<p>Message exchange patterns: <a href="#meps"><strong>2. Predefined
|
|
Message Exchange Patterns</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>Operation safety declaration: <a href="#ext"><strong>3.
|
|
Predefined Extensions</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>Operation styles: <a href="#styles"><strong>4. Predefined
|
|
Operation Styles</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>Binding extensions:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A SOAP 1.2 [<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1:
|
|
Messaging Framework (Second Edition)</a></cite>] binding extension:
|
|
<a href="#soap-binding"><strong>5. WSDL SOAP Binding
|
|
Extension</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>An HTTP/1.1 [<cite><a href="#RFC2616">IETF RFC 2616</a></cite>]
|
|
binding extension: <a href="#http-binding"><strong>6. WSDL HTTP
|
|
Binding Extension</strong></a></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>This document depends on "Web Services Description Language
|
|
(WSDL) Version 2.0 Part 1: Core Language" [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]. See also the "Web
|
|
Services Description Language (WSDL) Version 2.0 Part 0: Primer"
|
|
[<cite><a href="#WSDL-PART0">WSDL 2.0 Primer</a></cite>] for more
|
|
information and examples.</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 RFC2119
|
|
[<cite><a href="#RFC2119">IETF RFC 2119</a></cite>].</p>
|
|
<p>This specification uses a number of namespace prefixes
|
|
throughout; they are listed in <a href="#tabprefns">Table 1-1</a>.
|
|
Note that the choice of any namespace prefix is arbitrary and not
|
|
semantically significant (see [<cite><a href="#XMLInfoSet">XML
|
|
Information Set</a></cite>]).</p>
|
|
<a name="tabprefns" id="tabprefns"></a>
|
|
<table border="1" summary=
|
|
"Mapping of prefixes used in this document to their associated namespace name">
|
|
<caption>Table 1-1. Prefixes and Namespaces used in this
|
|
specification</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Prefix</th>
|
|
<th rowspan="1" colspan="1">Namespace</th>
|
|
<th rowspan="1" colspan="1">Notes</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">wsdl</td>
|
|
<td rowspan="1" colspan="1">"http://www.w3.org/ns/wsdl"</td>
|
|
<td rowspan="1" colspan="1">This namespace is defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]. A
|
|
normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>] document for the "http://www.w3.org/ns/wsdl"
|
|
namespace can be found at <a href=
|
|
"http://www.w3.org/ns/wsdl">http://www.w3.org/ns/wsdl</a>. This
|
|
namespace is used as the default namespace throughout this
|
|
specification.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">wsdlx</td>
|
|
<td rowspan="1" colspan="1">
|
|
"http://www.w3.org/ns/wsdl-extensions"</td>
|
|
<td rowspan="1" colspan="1">This specification extends in section
|
|
<a href="#ext"><strong>3. Predefined Extensions</strong></a> the
|
|
"http://www.w3.org/ns/wsdl-extensions" namespace defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]. A
|
|
normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>] document for the
|
|
"http://www.w3.org/ns/wsdl-extensions" namespace can be found at
|
|
<a href=
|
|
"http://www.w3.org/ns/wsdl-extensions">http://www.w3.org/ns/wsdl-extensions</a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">wsoap</td>
|
|
<td rowspan="1" colspan="1">"http://www.w3.org/ns/wsdl/soap"</td>
|
|
<td rowspan="1" colspan="1">Defined by this specification. A
|
|
normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>] document for the
|
|
"http://www.w3.org/ns/wsdl/soap" namespace can be found at <a href=
|
|
"http://www.w3.org/ns/wsdl/soap">http://www.w3.org/ns/wsdl/soap</a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">whttp</td>
|
|
<td rowspan="1" colspan="1">"http://www.w3.org/ns/wsdl/http"</td>
|
|
<td rowspan="1" colspan="1">Defined by this specification. A
|
|
normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>] document for the
|
|
"http://www.w3.org/ns/wsdl/http" namespace can be found at <a href=
|
|
"http://www.w3.org/ns/wsdl/http">http://www.w3.org/ns/wsdl/http</a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">wrpc</td>
|
|
<td rowspan="1" colspan="1">"http://www.w3.org/ns/wsdl/rpc"</td>
|
|
<td rowspan="1" colspan="1">Defined by this specification. A
|
|
normative XML Schema [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>] document for the
|
|
"http://www.w3.org/ns/wsdl/rpc" namespace can be found at <a href=
|
|
"http://www.w3.org/ns/wsdl/rpc">http://www.w3.org/ns/wsdl/rpc</a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">xs</td>
|
|
<td rowspan="1" colspan="1">"http://www.w3.org/2001/XMLSchema"</td>
|
|
<td rowspan="1" colspan="1">Defined in the W3C XML Schema
|
|
specification [<cite><a href="#XMLSchemaP1">XML Schema
|
|
Structures</a></cite>], [<cite><a href="#XMLSchemaP2">XML Schema
|
|
Datatypes</a></cite>].</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<p>Namespace names of the general form "http://example.org/..." and
|
|
"http://example.com/..." represent application or context-dependent
|
|
URIs [<cite><a href="#RFC3986">IETF RFC 3986</a></cite>].</p>
|
|
<p>All parts of this specification are normative, with the
|
|
EXCEPTION of pseudo-schemas, examples, and sections explicitly
|
|
marked as "Non-Normative". Pseudo-schemas are provided for each
|
|
component, before the description of this component. They provide
|
|
visual help for the XML [<cite><a href="#XML10">XML 1.0</a></cite>]
|
|
serialization. The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#bnfpseudoschemas">syntax
|
|
of BNF pseudo-schemas</a> is the same as the one used in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>].</p>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="assertions" id="assertions"></a>1.2 Assertions</h3>
|
|
<p>Assertions about WSDL 2.0 documents and components that are not
|
|
enforced by the normative XML schema for WSDL 2.0 are marked by a
|
|
dagger symbol (†) at the end of a sentence. Each assertion has been
|
|
assigned a unique identifier that consists of a descriptive textual
|
|
prefix and a unique numeric suffix. The numeric suffixes are
|
|
assigned sequentially and never reused so there may be gaps in the
|
|
sequence. The assertion identifiers MAY be used by implementations
|
|
of this specification for any purpose, e.g. error reporting.</p>
|
|
<p>The assertions and their identifiers are summarized in section
|
|
<a href="#assertionsummary"><strong>C. Assertion
|
|
Summary</strong></a>.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="meps" id="meps"></a>2. Predefined Message Exchange
|
|
Patterns</h2>
|
|
<p>Web Services Description Language (WSDL) message exchange
|
|
patterns (hereafter simply 'patterns') define the sequence and
|
|
cardinality of abstract messages listed in an operation. Message
|
|
exchange patterns also define which other nodes send messages to,
|
|
and receive messages from, the service implementing the
|
|
operation.</p>
|
|
<p>A <em>node</em> is an agent (<a href=
|
|
"http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#agent">section
|
|
2.3.2.2 Agent of the Web Services Architecture</a> [<cite><a href=
|
|
"#wsarch">Web Services Architecture</a></cite>]) that can transmit
|
|
and/or receive message(s) described in WSDL description(s) and
|
|
process them.</p>
|
|
<div class="note">
|
|
<p class="prefix"><strong>Note:</strong></p>
|
|
<p><span id="NodeIdentity-2001" class="test-assertion-tr">A node
|
|
MAY be accessible via more than one physical address or
|
|
transport.<sup><a href="#NodeIdentity-2001-summary" title=
|
|
"Link to assertion NodeIdentity-2001 summary">†</a></sup></span></p>
|
|
</div>
|
|
<p>WSDL message exchange patterns describe the interaction at the
|
|
abstract (interface) level, which may be distinct from the pattern
|
|
used by the underlying protocol binding (e.g. SOAP Message Exchange
|
|
Patterns; section <a href="#soap12-defaults"><strong>5.10.3 SOAP
|
|
1.2 Binding Rules</strong></a> contains the binding rules for the
|
|
selection of a SOAP 1.2 message exchange pattern, based on the WSDL
|
|
message exchange pattern in use for the SOAP binding extension
|
|
defined in section <a href="#soap-binding"><strong>5. WSDL SOAP
|
|
Binding Extension</strong></a>).</p>
|
|
<p>By design, WSDL message exchange patterns abstract out specific
|
|
message types. Patterns identify placeholders for messages, and
|
|
placeholders are associated with specific message types by the
|
|
operation using the pattern.</p>
|
|
<p>Unless explicitly stated otherwise, WSDL message exchange
|
|
patterns also abstract out binding-specific information such as
|
|
timing between messages, whether the pattern is synchronous or
|
|
asynchronous, and whether the messages are sent over a single or
|
|
multiple channels.</p>
|
|
<p>Like interfaces and operations, WSDL message exchange patterns
|
|
do not exhaustively describe the set of messages exchanged between
|
|
a service and other nodes; <span id="MEPDescriptiveness-2002"
|
|
class="test-assertion-tr">by some prior agreement, another node
|
|
and/or the service MAY send messages (to each other or to other
|
|
nodes) that are not described by the pattern.<sup><a href=
|
|
"#MEPDescriptiveness-2002-summary" title=
|
|
"Link to assertion MEPDescriptiveness-2002 summary">†</a></sup></span>
|
|
For instance, even though a pattern can define a single message
|
|
sent from a service to one other node, the Web service can in
|
|
practice multicast that message to other nodes.</p>
|
|
<p>To maximize reuse, WSDL message exchange patterns identify a
|
|
minimal contract between other parties and Web services, and
|
|
contain only information that is relevant to both the Web service
|
|
and another party.</p>
|
|
<p>This specification defines several message exchange patterns for
|
|
use with <em>WSDL Version 2.0 Part 1: Core
|
|
Language</em> [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]. Additional, non-normative patterns are
|
|
available in [<cite><a href="#WSDL-MEPS">WSDL 2.0 Additional
|
|
MEPs</a></cite>].</p>
|
|
<div class="div2">
|
|
<h3><a name="mep-template" id="mep-template"></a>2.1 Template for
|
|
Message Exchange Patterns</h3>
|
|
<p>New message exchange patterns may be defined by any organization
|
|
able and willing to do so. It is recommended that the patterns use
|
|
the general template provided in <a href=
|
|
"#template-sample"><strong>2.1.1 Pattern Name</strong></a>, after
|
|
examination of existing predefined patterns.</p>
|
|
<div class="div3">
|
|
<h4><a name="template-sample" id="template-sample"></a>2.1.1
|
|
Pattern Name</h4>
|
|
<p>This pattern consists of [number] message[s, in order] as
|
|
follows:</p>
|
|
<p>[enumeration, specifying, for each message] A[n optional]
|
|
message:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>indicated by an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagelabel">message
|
|
label</a>} is "[label]" and {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.direction">direction</a>}
|
|
is "[direction]"</p>
|
|
</li>
|
|
<li>
|
|
<p>[received from|sent to] ['some' if first mention] node [node
|
|
identifier]</p>
|
|
</li>
|
|
</ol>
|
|
<p>This pattern uses the rule [fault ruleset reference].</p>
|
|
<p>An <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> using this message exchange pattern has a
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property with the value "[pattern IRI]".</p>
|
|
<p>Note: In the template, the bracketed items indicate a
|
|
replacement operation. Substitute the correct terms for each
|
|
bracketed item.</p>
|
|
<p>Note: the "received from" and "sent to" are always from the
|
|
point of view of the service, and participating nodes other than
|
|
the service are implicitly identified as the originators of or
|
|
destinations for messages in the exchange.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="fault-rules" id="fault-rules"></a>2.2 Fault
|
|
Propagation Rules</h3>
|
|
<p>WSDL patterns specify their fault propagation model using
|
|
standard rulesets to indicate where faults can occur. The most
|
|
common patterns for fault propagation are defined in the following
|
|
subsections, and referenced by the patterns in <a href=
|
|
"#patterns"><strong>2.3 Message Exchange Patterns</strong></a>.
|
|
"Propagation" is defined as a best-effort attempt to transmit the
|
|
fault message to its designated recipient.</p>
|
|
<p>WSDL patterns specify propagation of faults, not their
|
|
generation. <span id="FaultPropagation-2003" class=
|
|
"test-assertion-tr">Nodes that generate faults MUST attempt to
|
|
propagate the faults in accordance with the governing ruleset, but
|
|
it is understood that any delivery of a network message is best
|
|
effort, not guaranteed.<sup><a href=
|
|
"#FaultPropagation-2003-summary" title=
|
|
"Link to assertion FaultPropagation-2003 summary">†</a></sup></span>
|
|
The rulesets establish the direction of the fault message and the
|
|
fault recipient; they do not provide reliability or other delivery
|
|
guarantees. <span id="FaultPropagation-2004" class=
|
|
"test-assertion-tr">When a fault is generated, the generating node
|
|
MUST attempt to propagate the fault, and MUST do so in the
|
|
direction and to the recipient specified by the
|
|
ruleset.<sup><a href="#FaultPropagation-2004-summary" title=
|
|
"Link to assertion FaultPropagation-2004 summary">†</a></sup></span> <span id="FaultPropagationModification-2005"
|
|
class="test-assertion-tr">However, extensions or binding extensions
|
|
MAY modify these rulesets.<sup><a href=
|
|
"#FaultPropagationModification-2005-summary" title=
|
|
"Link to assertion FaultPropagationModification-2005 summary">†</a></sup></span>
|
|
For example, WS-Addressing [<cite><a href="#WSA-Core">WSA 1.0
|
|
Core</a></cite>] defines a "FaultTo" address for messages, which is
|
|
used in lieu of the recipient nominated by the ruleset.</p>
|
|
<p><span id="MEPTermination-2006" class=
|
|
"test-assertion-tr">Generation of a fault, regardless of ruleset,
|
|
terminates the exchange.<sup><a href="#MEPTermination-2006-summary"
|
|
title=
|
|
"Link to assertion MEPTermination-2006 summary">†</a></sup></span></p>
|
|
<p>Binding extensions, features, or extension specifications can
|
|
override the semantics of a fault propagation ruleset, but this
|
|
practice is strongly discouraged.</p>
|
|
<div class="div3">
|
|
<h4><a name="fault-replacement" id="fault-replacement"></a>2.2.1
|
|
Fault Replaces Message propagation rule</h4>
|
|
<p><span id="FaultReplacesMessage-2007" class=
|
|
"test-assertion-tr">When the Fault Replaces Message propagation
|
|
rule is in effect, any message after the first in the pattern MAY
|
|
be replaced with a fault message, which MUST have identical
|
|
direction. <sup><a href="#FaultReplacesMessage-2007-summary" title=
|
|
"Link to assertion FaultReplacesMessage-2007 summary">†</a></sup></span>
|
|
<span id="FaultDelivery-2008" class="test-assertion-tr">The fault
|
|
message MUST be delivered to the same target node as the message it
|
|
replaces, unless otherwise specified by an extension or binding
|
|
extension. If there is no path to this node, the fault MUST be
|
|
discarded.<sup><a href="#FaultDelivery-2008-summary" title=
|
|
"Link to assertion FaultDelivery-2008 summary">†</a></sup></span></p>
|
|
<p>The Fault Replaces Message propagation rule is identified by the
|
|
following URI:
|
|
<code>http://www.w3.org/ns/wsdl/fault-replaces-message</code></p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="fault-trigger" id="fault-trigger"></a>2.2.2 Message
|
|
Triggers Fault propagation rule</h4>
|
|
<p><span id="MessageTriggersFault-2009" class=
|
|
"test-assertion-tr">When the Message Triggers Fault propagation
|
|
rule is in effect, any message, including the first in the pattern,
|
|
MAY trigger a fault message, which MUST have opposite direction.
|
|
<sup><a href="#MessageTriggersFault-2009-summary" title=
|
|
"Link to assertion MessageTriggersFault-2009 summary">†</a></sup></span>
|
|
<span id="FaultDelivery-2010" class="test-assertion-tr">The fault
|
|
message MUST be delivered to the originator of the triggering
|
|
message, unless otherwise specified by an extension or binding
|
|
extension. Any node MAY propagate a fault message, and MUST NOT do
|
|
so more than once for each triggering message. If there is no path
|
|
to the originator, the fault MUST be discarded.<sup><a href=
|
|
"#FaultDelivery-2010-summary" title=
|
|
"Link to assertion FaultDelivery-2010 summary">†</a></sup></span></p>
|
|
<p>The Message Triggers Fault propagation rule is identified by the
|
|
following URI:
|
|
<code>http://www.w3.org/ns/wsdl/message-triggers-fault</code></p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="no-fault" id="no-fault"></a>2.2.3 No Faults
|
|
propagation rule</h4>
|
|
<p><span id="NoFaults-2011" class="test-assertion-tr">When the No
|
|
Faults propagation rule is in effect, faults MUST NOT be
|
|
propagated. <sup><a href="#NoFaults-2011-summary" title=
|
|
"Link to assertion NoFaults-2011 summary">†</a></sup></span></p>
|
|
<p>The No Faults propagation rule is identified by the following
|
|
URI: <code>http://www.w3.org/ns/wsdl/no-faults</code></p>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="patterns" id="patterns"></a>2.3 Message Exchange
|
|
Patterns</h3>
|
|
<p>WSDL patterns are described in terms of the WSDL component
|
|
model, specifically the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFaultReference">
|
|
Interface Fault Reference</a> components.</p>
|
|
<div class="div3">
|
|
<h4><a name="in-only" id="in-only"></a>2.3.1 In-Only message
|
|
exchange pattern</h4>
|
|
<p><span id="InOnlyComposition-2012" class="test-assertion-tr">The
|
|
<code>in-only</code> message exchange pattern consists of exactly
|
|
one message as follows:<sup><a href=
|
|
"#InOnlyComposition-2012-summary" title=
|
|
"Link to assertion InOnlyComposition-2012 summary">†</a></sup></span></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>A message:</p>
|
|
<ul>
|
|
<li>
|
|
<p>indicated by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagelabel">message
|
|
label</a>} is "In" and {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.direction">direction</a>}
|
|
is "in"</p>
|
|
</li>
|
|
<li>
|
|
<p>received from some node N</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<p><span id="InOnlyFaults-2013" class="test-assertion-tr">The
|
|
<code>in-only</code> message exchange pattern uses the rule
|
|
<a href="#no-fault"><strong>2.2.3 No Faults propagation
|
|
rule</strong></a>.<sup><a href="#InOnlyFaults-2013-summary" title=
|
|
"Link to assertion InOnlyFaults-2013 summary">†</a></sup></span></p>
|
|
<p>An operation using this message exchange pattern has a {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property with the value
|
|
"http://www.w3.org/ns/wsdl/in-only".</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="robust-in-only" id="robust-in-only"></a>2.3.2 Robust
|
|
In-Only message exchange pattern</h4>
|
|
<p><span id="RobustInOnlyComposition-2013" class=
|
|
"test-assertion-tr">The <code>robust-in-only</code> message
|
|
exchange pattern consists of exactly one message as
|
|
follows:<sup><a href="#RobustInOnlyComposition-2013-summary" title=
|
|
"Link to assertion RobustInOnlyComposition-2013 summary">†</a></sup></span></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>A message:</p>
|
|
<ul>
|
|
<li>
|
|
<p>indicated by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagelabel">message
|
|
label</a>} is "In" and {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.direction">direction</a>}
|
|
is "in"</p>
|
|
</li>
|
|
<li>
|
|
<p>received from some node N</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<p><span id="RobustInOnlyFaults-2014" class="test-assertion-tr">The
|
|
<code>robust in-only</code> message exchange pattern uses the rule
|
|
<a href="#fault-trigger"><strong>2.2.2 Message Triggers Fault
|
|
propagation rule</strong></a>.<sup><a href=
|
|
"#RobustInOnlyFaults-2014-summary" title=
|
|
"Link to assertion RobustInOnlyFaults-2014 summary">†</a></sup></span></p>
|
|
<p>An operation using this message exchange pattern has a {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property with the value
|
|
"http://www.w3.org/ns/wsdl/robust-in-only".</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="in-out" id="in-out"></a>2.3.3 In-Out message exchange
|
|
pattern</h4>
|
|
<p><span id="InOutComposition-2015" class="test-assertion-tr">The
|
|
<code>in-out</code> message exchange pattern consists of exactly
|
|
two messages, in order, as follows:<sup><a href=
|
|
"#InOutComposition-2015-summary" title=
|
|
"Link to assertion InOutComposition-2015 summary">†</a></sup></span></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>A message:</p>
|
|
<ul>
|
|
<li>
|
|
<p>indicated by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagelabel">message
|
|
label</a>} is "In" and {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.direction">direction</a>}
|
|
is "in"</p>
|
|
</li>
|
|
<li>
|
|
<p>received from some node N</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>A message:</p>
|
|
<ul>
|
|
<li>
|
|
<p>indicated by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagelabel">message
|
|
label</a>} is "Out" and {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.direction">direction</a>}
|
|
is "out"</p>
|
|
</li>
|
|
<li>
|
|
<p>sent to node N</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<p><span id="InOutFaults-2016" class="test-assertion-tr">The
|
|
<code>in-out</code> message exchange pattern uses the rule <a href=
|
|
"#fault-replacement"><strong>2.2.1 Fault Replaces Message
|
|
propagation rule</strong></a>.<sup><a href=
|
|
"#InOutFaults-2016-summary" title=
|
|
"Link to assertion InOutFaults-2016 summary">†</a></sup></span></p>
|
|
<p>An operation using this message exchange pattern has a {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property with the value
|
|
"http://www.w3.org/ns/wsdl/in-out".</p>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="mep-sec-sec" id="mep-sec-sec"></a>2.4 Security
|
|
Considerations</h3>
|
|
<p>Note that many of the message exchange patterns defined above
|
|
describe responses to an initial message (either a normal response
|
|
message or a fault.)</p>
|
|
<p>Such responses can be used in attempts to disrupt, attack, or
|
|
map a network, host, or services. When such responses are directed
|
|
to an address other than that originating the initial message, the
|
|
source of an attack can be obscured, or blame laid on a third
|
|
party, or denial-of-service attacks can be enabled or
|
|
exacerbated.</p>
|
|
<p>Security mechanisms addressing such attacks can prevent the
|
|
delivery of response messages to the receiving node. Conformance to
|
|
the message exchange pattern is measured prior to the application
|
|
of these security mechanisms.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="ext" id="ext"></a>3. Predefined Extensions</h2>
|
|
<div class="div2">
|
|
<h3><a name="safety" id="safety"></a>3.1 Operation safety</h3>
|
|
<p>This section defines an extension to WSDL 2.0 [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>] that allows
|
|
marking an operation as a safe interaction, as defined in <a href=
|
|
"http://www.w3.org/TR/2004/REC-webarch-20041215/#safe-interaction">section
|
|
3.4. Safe Interactions</a> of [<cite><a href="#webarch">Web
|
|
Architecture</a></cite>].</p>
|
|
<p>This extension MAY be used for setting defaults in bindings,
|
|
such as in the HTTP binding (see <a href=
|
|
"#http-operation-decl-mapping"><strong>6.5.5 Mapping from XML
|
|
Representation to Component Properties</strong></a>).</p>
|
|
<div class="div3">
|
|
<h4><a name="safety-decl-relate" id="safety-decl-relate"></a>3.1.1
|
|
Relationship to WSDL Component Model</h4>
|
|
<p>The safety extension adds the following property to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component model (defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-InterfaceOperation.safe" id=
|
|
"property-InterfaceOperation.safe">safe</a>} REQUIRED. An
|
|
<em>xs:boolean</em> indicating whether the operation is asserted to
|
|
be safe for users to invoke. If this property is "false", then no
|
|
assertion has been made about the safety of the operation, thus the
|
|
operation MAY or MAY NOT be safe. <span id="OperationSafety-2027"
|
|
class="test-assertion-tr">However, an operation SHOULD be marked
|
|
safe if it meets the criteria for a safe interaction defined in
|
|
Section 3.4 of [<cite><a href="#webarch">Web
|
|
Architecture</a></cite>].<sup><a href=
|
|
"#OperationSafety-2027-summary" title=
|
|
"Link to assertion OperationSafety-2027 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="safety-decl-xml" id="safety-decl-xml"></a>3.1.2 XML
|
|
Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<interface>
|
|
<operation name="<em>xs:NCName</em>" pattern="<em>xs:anyURI</em>"
|
|
<strong>wsdlx:safe</strong>="<em>xs:boolean</em>"? >
|
|
</operation>
|
|
</interface>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for the safety extension is an
|
|
<em>attribute information item</em> with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="OperationSafety-2028" class="test-assertion-tr">An
|
|
OPTIONAL <code>safe</code> <em>attribute information item</em> with
|
|
the following Infoset properties:<sup><a href=
|
|
"#OperationSafety-2028-summary" title=
|
|
"Link to assertion OperationSafety-2028 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>safe</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl-extensions"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="safety-decl-mapping" id=
|
|
"safety-decl-mapping"></a>3.1.3 Mapping from XML Representation to
|
|
Component Properties</h4>
|
|
<p>See <a href="#tab_safety_Mapping">Table 3-1</a>.</p>
|
|
<a name="tab_safety_Mapping" id="tab_safety_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 3-1. Mapping from XML Representation to Interface
|
|
Operation component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-InterfaceOperation.safe">safe</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>safe</code> <em>attribute information item</em>, if present;
|
|
otherwise the value "false".</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="styles" id="styles"></a>4. Predefined Operation
|
|
Styles</h2>
|
|
<p>This section defines <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#InterfaceOperationStyle">
|
|
operation styles</a> that can be used to place constraints on
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components, in particular with respect to
|
|
the format of the messages they refer to. The serialization formats
|
|
defined in section <a href="#_http_serialization"><strong>6.8
|
|
Serialization Format of Instance Data</strong></a> require bound
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components to have one or more of the
|
|
styles defined in this section.</p>
|
|
<div class="div2">
|
|
<h3><a name="RPCStyle" id="RPCStyle"></a>4.1 RPC Style</h3>
|
|
<p>The RPC style is selected by including the value
|
|
"http://www.w3.org/ns/wsdl/style/rpc" in the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component.</p>
|
|
<p>An <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component conforming to the RPC style MUST
|
|
obey the constraints listed further below. Also, if the
|
|
<code>wrpc:signature</code> extension is engaged simultaneously,
|
|
the corresponding <em>attribute information item</em> MUST be valid
|
|
according to the schema for the extension and additionally MUST
|
|
obey the constraints listed in <a href=
|
|
"#InterfaceOperation_RPC_Signature_Definition"><strong>4.1.1
|
|
wrpc:signature Extension</strong></a> and <a href=
|
|
"#InterfaceOperation_RPC_Signature_XMLRep"><strong>4.1.2 XML
|
|
Representation of the wrpc:signature Extension</strong></a>.</p>
|
|
<p>Furthermore, the associated messages MUST conform to the rules
|
|
below, described using XML Schema [<cite><a href="#XMLSchemaP1">XML
|
|
Schema Structures</a></cite>]. Note that operations containing
|
|
messages described by other type systems may also indicate use of
|
|
the RPC style, as long as they are constructed in such a way as to
|
|
follow these rules.</p>
|
|
<p><span id="RPCStyle-2029" class="test-assertion-tr">If the RPC
|
|
style is used by an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component then its {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property MUST have the value either
|
|
"http://www.w3.org/ns/wsdl/in-only" or
|
|
"http://www.w3.org/ns/wsdl/in-out".<sup><a href=
|
|
"#RPCStyle-2029-summary" title=
|
|
"Link to assertion RPCStyle-2029 summary">†</a></sup></span></p>
|
|
<p>If the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component uses a {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} for which there is no output element, i.e.
|
|
"http://www.w3.org/ns/wsdl/in-only", then the conditions stated
|
|
below that refer to output elements MUST be considered to be
|
|
implicitly satisfied.</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="RPCStyle-2030" class="test-assertion-tr">The value of
|
|
the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property for the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> components of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.interfacemessagereferences">interface
|
|
message references</a>} property MUST be "#element".<sup><a href=
|
|
"#RPCStyle-2030-summary" title=
|
|
"Link to assertion RPCStyle-2030 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2031" class="test-assertion-tr">The content
|
|
model of input and output {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} elements MUST be defined using a complex type that
|
|
contains a sequence from XML Schema.<sup><a href=
|
|
"#RPCStyle-2031-summary" title=
|
|
"Link to assertion RPCStyle-2031 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2032" class="test-assertion-tr">The input
|
|
sequence MUST only contain elements and element
|
|
wildcards.<sup><a href="#RPCStyle-2032-summary" title=
|
|
"Link to assertion RPCStyle-2032 summary">†</a></sup></span> It
|
|
MUST NOT contain other structures such as <code>xs:choice</code>.
|
|
<span id="RPCStyle-2033" class="test-assertion-tr">The input
|
|
sequence MUST NOT contain more than one element
|
|
wildcard.<sup><a href="#RPCStyle-2033-summary" title=
|
|
"Link to assertion RPCStyle-2033 summary">†</a></sup></span>
|
|
<span id="RPCStyle-2034" class="test-assertion-tr">The element
|
|
wildcard, if present, MUST appear after any elements.<sup><a href=
|
|
"#RPCStyle-2034-summary" title=
|
|
"Link to assertion RPCStyle-2034 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2035" class="test-assertion-tr">The output
|
|
sequence MUST only contain elements.<sup><a href=
|
|
"#RPCStyle-2035-summary" title=
|
|
"Link to assertion RPCStyle-2035 summary">†</a></sup></span> It
|
|
MUST NOT contain other structures such as
|
|
<code>xs:choice</code>.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2036" class="test-assertion-tr">Both the
|
|
input and output sequences MUST contain only local element
|
|
children.<sup><a href="#RPCStyle-2036-summary" title=
|
|
"Link to assertion RPCStyle-2036 summary">†</a></sup></span> Note
|
|
that these child elements MAY contain the following attributes:
|
|
<code>nillable</code>, <code>minOccurs</code> and
|
|
<code>maxOccurs</code>.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2037" class="test-assertion-tr">The local
|
|
name of input element's QName MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's name.<sup><a href=
|
|
"#RPCStyle-2037-summary" title=
|
|
"Link to assertion RPCStyle-2037 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2038" class="test-assertion-tr">Input and
|
|
output elements MUST both be in the same namespace.<sup><a href=
|
|
"#RPCStyle-2038-summary" title=
|
|
"Link to assertion RPCStyle-2038 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2039" class="test-assertion-tr">The complex
|
|
type that defines the body of an input or an output element MUST
|
|
NOT contain any local attributes.<sup><a href=
|
|
"#RPCStyle-2039-summary" title=
|
|
"Link to assertion RPCStyle-2039 summary">†</a></sup></span>
|
|
Extension attributes are allowed for purposes of managing the
|
|
message infrastructure (e.g. adding identifiers to facilitate
|
|
digitally signing the contents of the message). They must not be
|
|
considered as part of the application data that is conveyed by the
|
|
message. Therefore, they are never included in an RPC signature
|
|
(see <a href=
|
|
"#InterfaceOperation_RPC_Signature_Definition"><strong>4.1.1
|
|
wrpc:signature Extension</strong></a>).</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2040" class="test-assertion-tr">If elements
|
|
with the same qualified name appear as children of both the input
|
|
and output elements, then they MUST both be declared using the same
|
|
named type.<sup><a href="#RPCStyle-2040-summary" title=
|
|
"Link to assertion RPCStyle-2040 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="RPCStyle-2041" class="test-assertion-tr">The input or
|
|
output sequence MUST NOT contain multiple children elements
|
|
declared with the same name.<sup><a href="#RPCStyle-2041-summary"
|
|
title=
|
|
"Link to assertion RPCStyle-2041 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
<div class="div3">
|
|
<h4><a name="InterfaceOperation_RPC_Signature_Definition" id=
|
|
"InterfaceOperation_RPC_Signature_Definition"></a>4.1.1
|
|
<code>wrpc:signature</code> Extension</h4>
|
|
<p>The <code>wrpc:signature</code> extension <em>attribute
|
|
information item</em> MAY be used in conjunction with the RPC style
|
|
to describe the exact signature of the function represented by an
|
|
operation that uses the RPC style.</p>
|
|
<p>When present, the <code>wrpc:signature</code> extension
|
|
contributes the following property to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component it is applied to:</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-InterfaceOperation.rpcsignature" id=
|
|
"property-InterfaceOperation.rpcsignature">rpc signature</a>}
|
|
<span id="WRPC-2042" class="test-assertion-tr">OPTIONAL, but MUST
|
|
be present when the style is RPC<sup><a href="#WRPC-2042-summary"
|
|
title="Link to assertion WRPC-2042 summary">†</a></sup></span>. A
|
|
list of pairs <em>(q, t)</em> whose first component is of type
|
|
<em>xs:QName</em> and whose second component is of type
|
|
<em>xs:token</em>. <span id="WRPC-2043" class=
|
|
"test-assertion-tr">Values for the second component MUST be chosen
|
|
among the following four: "#in", "#out", "#inout"
|
|
"#return".<sup><a href="#WRPC-2043-summary" title=
|
|
"Link to assertion WRPC-2043 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
<p>The value of the {<a href=
|
|
"#property-InterfaceOperation.rpcsignature">rpc signature</a>}
|
|
property MUST satisfy the following conditions:</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="WRPC-2044" class="test-assertion-tr">The value of the
|
|
first component of each pair <em>(q, t)</em> MUST be unique within
|
|
the list.<sup><a href="#WRPC-2044-summary" title=
|
|
"Link to assertion WRPC-2044 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="WRPC-2045" class="test-assertion-tr">For each child
|
|
element of the input and output messages of the operation, a pair
|
|
<em>(q, t)</em>, whose first component <em>q</em> is equal to the
|
|
qualified name of that element, MUST be present in the list, with
|
|
the caveat that elements that appear with cardinality greater than
|
|
one MUST be treated as a single element.<sup><a href=
|
|
"#WRPC-2045-summary" title=
|
|
"Link to assertion WRPC-2045 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="WRPC-2046" class="test-assertion-tr">For each pair
|
|
<em>(q, #in)</em>, there MUST be a child element of the input
|
|
element with a name of <em>q</em>. There MUST NOT be a child
|
|
element of the output element with the name of
|
|
<em>q</em>.<sup><a href="#WRPC-2046-summary" title=
|
|
"Link to assertion WRPC-2046 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="WRPC-2047" class="test-assertion-tr">For each pair
|
|
<em>(q, #out)</em>, there MUST be a child element of the output
|
|
element with a name of <em>q</em>. There MUST NOT be a child
|
|
element of the input element with the name of
|
|
<em>q</em>.<sup><a href="#WRPC-2047-summary" title=
|
|
"Link to assertion WRPC-2047 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="WRPC-2048" class="test-assertion-tr">For each pair
|
|
<em>(q, #inout)</em>, there MUST be a child element of the input
|
|
element with a name of <em>q</em>. There MUST also be a child
|
|
element of the output element with the name of
|
|
<em>q</em>.<sup><a href="#WRPC-2048-summary" title=
|
|
"Link to assertion WRPC-2048 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="WRPC-2049" class="test-assertion-tr">For each pair
|
|
<em>(q, #return)</em>, there MUST be a child element of the output
|
|
element with a name of <em>q</em>. There MUST NOT be a child
|
|
element of the input element with the name of
|
|
<em>q</em>.<sup><a href="#WRPC-2049-summary" title=
|
|
"Link to assertion WRPC-2049 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
<p>The function signature defined by a <code>wrpc:signature</code>
|
|
extension is determined as follows:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>Start with the value of the {<a href=
|
|
"#property-InterfaceOperation.rpcsignature">rpc signature</a>}
|
|
property, a (possibly empty) list of pairs of this form:</p>
|
|
<p>    <em>[(q0, t0), (q1, t1), ...]</em></p>
|
|
</li>
|
|
<li>
|
|
<p>Filter the elements of this list into two lists, the first one
|
|
<em>(L1)</em> comprising pairs whose <em>t</em> component is one of
|
|
<em>{#in, #out, #inout}</em>, the second <em>(L2)</em> pairs whose
|
|
<em>t</em> component is <em>#return</em>. During the composition of
|
|
<em>L1</em> and <em>L2</em>, the relative order of members in the
|
|
original list MUST be preserved.</p>
|
|
<p>For ease of visualization, let's denote the two lists as:</p>
|
|
<p>    (L1)    <em>[(a0,
|
|
u0), (a1, u1), ...]</em></p>
|
|
<p>and</p>
|
|
<p>    (L2)    <em>[(r0,
|
|
#return), (r1, #return), ...]</em></p>
|
|
<p>respectively.</p>
|
|
</li>
|
|
<li>
|
|
<p>Then, if the input sequence ends with an element wildcard, the
|
|
formal signature of the function is:</p>
|
|
<p>    <em>f([d0] a0, [d1] a1, ..., rest) =>
|
|
(r0, r1, ...)</em></p>
|
|
<p>where <em>rest</em> is a formal parameter representing the
|
|
elements in the input message matched by the element wildcard.</p>
|
|
<p>Otherwise the formal signature of the function is:</p>
|
|
<p>    <em>f([d0] a0, [d1] a1, ...) => (r0,
|
|
r1, ...)</em></p>
|
|
<p>i.e.:</p>
|
|
<ul>
|
|
<li>
|
|
<p>the list of formal arguments to the function is <em>[a0, a1,
|
|
...]</em>;</p>
|
|
</li>
|
|
<li>
|
|
<p>the direction <em>d</em> of each formal argument <em>a</em> is
|
|
one of <em>[in]</em>, <em>[out]</em>, <em>[inout]</em>, determined
|
|
according to the value of its corresponding <em>u</em> token;</p>
|
|
</li>
|
|
<li>
|
|
<p>the list of formal return parameters of the function is <em>[r0,
|
|
r1, ...]</em>;</p>
|
|
</li>
|
|
<li>
|
|
<p>each formal argument and formal return parameter is typed
|
|
according to the type of the child element identified by it (unique
|
|
per the conditions given above).</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
<div class="note">
|
|
<p class="prefix"><strong>Note:</strong></p>
|
|
<p>The <code>wrpc:signature</code> extension allows the
|
|
specification of multiple return values for an operation. Several
|
|
popular programming languages support multiple return values for a
|
|
function. Moreover, for languages which do not, the burden on
|
|
implementers should be small, as typically multiple return values
|
|
will be mapped to a single return value of a structure type (or its
|
|
closest language-specific equivalent).</p>
|
|
</div>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="InterfaceOperation_RPC_Signature_XMLRep" id=
|
|
"InterfaceOperation_RPC_Signature_XMLRep"></a>4.1.2 XML
|
|
Representation of the <code>wrpc:signature</code> Extension</h4>
|
|
<p>The XML representation for the RPC signature extension is an
|
|
<em>attribute information item</em> with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>signature</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/rpc"</p>
|
|
</li>
|
|
</ul>
|
|
<p>The type of the <code>signature</code> <em>attribute information
|
|
item</em> is a list type whose item type is the union of the
|
|
<em>xs:QName</em> type and the subtype of the <em>xs:token</em>
|
|
type restricted to the following four values: "#in", "#out",
|
|
"#inout", "#return". See <a href="#rpc-signature-xsd">Example
|
|
4-1</a> for an excerpt from the normative schema definition of this
|
|
type.</p>
|
|
<p><span id="WRPC-2050" class="test-assertion-tr">Additionally,
|
|
each even-numbered item (0, 2, 4, ...) in the list MUST be of type
|
|
<em>xs:QName</em> and each odd-numbered item (1, 3, 5, ...) in the
|
|
list MUST be of the subtype of <em>xs:token</em> described in the
|
|
previous paragraph.<sup><a href="#WRPC-2050-summary" title=
|
|
"Link to assertion WRPC-2050 summary">†</a></sup></span></p>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><a name=
|
|
"rpc-signature-xsd" id="rpc-signature-xsd"></a><em><span>Example
|
|
4-1.</span> Definition of the wrpc:signature extension</em></p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<xs:attribute name="signature" type="wrpc:signatureType"/>
|
|
|
|
<xs:simpleType name="signatureType">
|
|
<xs:list itemType="wrpc:signatureItemType"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="signatureItemType">
|
|
<xs:union memberTypes="xs:QName wrpc:directionToken"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="directionToken">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="#in"/>
|
|
<xs:enumeration value="#out"/>
|
|
<xs:enumeration value="#inout"/>
|
|
<xs:enumeration value="#return"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="InterfaceOperation_RPC_Signature_Mapping" id=
|
|
"InterfaceOperation_RPC_Signature_Mapping"></a>4.1.3
|
|
<code>wrpc:signature</code> Extension Mapping To Properties of an
|
|
Interface Operation component</h4>
|
|
<p>A <code>wrpc:signature</code> extension <em>attribute
|
|
information item</em> is mapped to the following property of the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component defined by its [owner].</p>
|
|
<a name="tab_InterfaceOperation_RPC_Signature_Mapping" id=
|
|
"tab_InterfaceOperation_RPC_Signature_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 4-1. Mapping of a <code>wrpc:signature</code>
|
|
Extension to Interface Operation component Properties</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-InterfaceOperation.rpcsignature">rpc signature</a>}</td>
|
|
<td rowspan="1" colspan="1">A list of <em>(xs:QName, xs:token)</em>
|
|
pairs formed by grouping the items present in the actual value of
|
|
the <code>wrpc:signature</code> <em>attribute information item</em>
|
|
in the order in which they appear there.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="_operation_iri_style" id=
|
|
"_operation_iri_style"></a>4.2 IRI Style</h3>
|
|
<p>The IRI style is selected by including the value
|
|
"http://www.w3.org/ns/wsdl/style/iri" in the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component.</p>
|
|
<p><span id="IRIStyle-2051" class="test-assertion-tr">When using
|
|
this style, the value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component corresponding to the
|
|
initial message of the message exchange pattern MUST be
|
|
"#element".<sup><a href="#IRIStyle-2051-summary" title=
|
|
"Link to assertion IRIStyle-2051 summary">†</a></sup></span></p>
|
|
<p>Use of this value indicates that XML Schema [<cite><a href=
|
|
"#XMLSchemaP1">XML Schema Structures</a></cite>] was used to define
|
|
the schema of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component corresponding to the initial
|
|
message of the message exchange pattern. This schema MUST adhere to
|
|
the rules below:</p>
|
|
<ul>
|
|
<li>
|
|
<p>The content model of this element is defined using a complex
|
|
type that contains a sequence from XML Schema.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="IRIStyle-2052" class="test-assertion-tr">The sequence
|
|
MUST only contain elements.<sup><a href="#IRIStyle-2052-summary"
|
|
title="Link to assertion IRIStyle-2052 summary">†</a></sup></span>
|
|
It MUST NOT contain other structures such as
|
|
<code>xs:choice</code>. There are no occurrence constraints on the
|
|
sequence.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="IRIStyle-2053" class="test-assertion-tr">The sequence
|
|
MUST contain only local element children.<sup><a href=
|
|
"#IRIStyle-2053-summary" title=
|
|
"Link to assertion IRIStyle-2053 summary">†</a></sup></span> Note
|
|
these child elements can contain the <code>nillable</code>
|
|
attribute.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="IRIStyle-2054" class="test-assertion-tr">The localPart
|
|
of the element's QName MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.name">name</a>}.<sup><a href="#IRIStyle-2054-summary"
|
|
title=
|
|
"Link to assertion IRIStyle-2054 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="IRIStyle-2055" class="test-assertion-tr">The complex
|
|
type that defines the body of the element or its children elements
|
|
MUST NOT contain any attributes.<sup><a href=
|
|
"#IRIStyle-2055-summary" title=
|
|
"Link to assertion IRIStyle-2055 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="IRIStyle-2056" class="test-assertion-tr">The children
|
|
elements of the sequence MUST derive from
|
|
<code>xs:simpleType</code>, and MUST NOT be of the type or derive
|
|
from <code>xs:QName</code>, <code>xs:NOTATION</code>,
|
|
<code>xs:hexBinary</code> or
|
|
<code>xs:base64Binary</code>.<sup><a href="#IRIStyle-2056-summary"
|
|
title=
|
|
"Link to assertion IRIStyle-2056 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="_operation_multipart_style" id=
|
|
"_operation_multipart_style"></a>4.3 Multipart style</h3>
|
|
<p>The Multipart style is selected by including the value
|
|
"http://www.w3.org/ns/wsdl/style/multipart" in the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component.</p>
|
|
<p><span id="MultipartStyle-2057" class="test-assertion-tr">When
|
|
using this style, the value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component corresponding to the
|
|
initial message of the message exchange pattern MUST be
|
|
"#element".<sup><a href="#MultipartStyle-2057-summary" title=
|
|
"Link to assertion MultipartStyle-2057 summary">†</a></sup></span></p>
|
|
<p>Use of this value indicates that XML Schema [<cite><a href=
|
|
"#XMLSchemaP1">XML Schema Structures</a></cite>] was used to define
|
|
the schema of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component corresponding to the initial
|
|
message of the message exchange pattern. This schema MUST adhere to
|
|
the rules below:</p>
|
|
<ul>
|
|
<li>
|
|
<p>The content model of this element is defined using a complex
|
|
type that contains a sequence from XML Schema.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="MultipartStyle-2058" class="test-assertion-tr">The
|
|
sequence MUST only contain elements.<sup><a href=
|
|
"#MultipartStyle-2058-summary" title=
|
|
"Link to assertion MultipartStyle-2058 summary">†</a></sup></span>
|
|
It MUST NOT contain other structures such as
|
|
<code>xs:choice</code>.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="MultipartStyle-2059" class="test-assertion-tr">The
|
|
sequence MUST contain only local element children.<sup><a href=
|
|
"#MultipartStyle-2059-summary" title=
|
|
"Link to assertion MultipartStyle-2059 summary">†</a></sup></span>
|
|
<span id="MultipartStyle-2060" class="test-assertion-tr">The
|
|
attributes <code>minOccurs</code> and <code>maxOccurs</code> for
|
|
these child elements MUST have a value <code>1</code>.<sup><a href=
|
|
"#MultipartStyle-2060-summary" title=
|
|
"Link to assertion MultipartStyle-2060 summary">†</a></sup></span>
|
|
Note these child elements can contain the <code>nillable</code>
|
|
attribute.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="MultipartStyle-2061" class="test-assertion-tr">The
|
|
localPart of the element's QName MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.name">name</a>}.<sup><a href="#MultipartStyle-2061-summary"
|
|
title=
|
|
"Link to assertion MultipartStyle-2061 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="MultipartStyle-2062" class="test-assertion-tr">The
|
|
complex type that defines the body of the element or its children
|
|
elements MUST NOT contain any attributes.<sup><a href=
|
|
"#MultipartStyle-2062-summary" title=
|
|
"Link to assertion MultipartStyle-2062 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="MultipartStyle-2063" class="test-assertion-tr">The
|
|
sequence MUST NOT contain multiple children element declared with
|
|
the same local name.<sup><a href="#MultipartStyle-2063-summary"
|
|
title=
|
|
"Link to assertion MultipartStyle-2063 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="soap-binding" id="soap-binding"></a>5. WSDL SOAP
|
|
Binding Extension</h2>
|
|
<p>The SOAP binding extension described in this section is an
|
|
extension for [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>] to enable Web services applications to use
|
|
SOAP. This binding extension is SOAP version independent ("1.2" as
|
|
well as other versions) and extends WSDL 2.0 by adding properties
|
|
to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component, and its related components, as defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]. In
|
|
addition, an XML Infoset representation for these additional
|
|
properties is provided, along with a mapping from that
|
|
representation to the various component properties.</p>
|
|
<p>As allowed in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>], a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component can exist without indicating a specific <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component that it applies to. In this case, no
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component can be present in the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
<p>The SOAP binding extension is designed with the objective of
|
|
minimizing what needs to be explicitly declared for common cases.
|
|
This is achieved by defining a set of default rules that affect all
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component to which the SOAP binding extension is
|
|
applied, unless specifically overridden by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. Thus, if a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component is not referred to specifically
|
|
by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, then all the default rules apply
|
|
to that <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component. As a result, in accordance with
|
|
the requirements of [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>], all operations of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component will be bound by this binding
|
|
extension.</p>
|
|
<p><strong>Note:</strong> As in other parts of this specification,
|
|
one could have done away with "default" properties at the component
|
|
model level, and have set the value for the corresponding
|
|
non-default properties in the XML mapping section. However, default
|
|
properties are required for interface-less binding. Indeed, an
|
|
interface-less binding has no means to set the non-default version
|
|
of the property at the operation-level, since there is precisely no
|
|
operation (there is not even an interface). Hence the mapping needs
|
|
to be done elsewhere.</p>
|
|
<p>A subset of the HTTP properties specified in the HTTP binding
|
|
extension defined in section <a href="#http-binding"><strong>6.
|
|
WSDL HTTP Binding Extension</strong></a> are present in a SOAP
|
|
binding when the SOAP binding uses HTTP as the underlying protocol,
|
|
for example, when the value of the {<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component is "http://www.w3.org/2003/05/soap/bindings/HTTP/".
|
|
<span id="SOAPHTTPProperties-2064" class="test-assertion-tr">These
|
|
properties MUST NOT be used unless the underlying protocol is
|
|
HTTP.<sup><a href="#SOAPHTTPProperties-2064-summary" title=
|
|
"Link to assertion SOAPHTTPProperties-2064 summary">†</a></sup></span>
|
|
The allowed properties are the ones that describe the underlying
|
|
protocol (HTTP):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} and {<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> components, as defined in <a href=
|
|
"#http-operation-decl"><strong>6.5 Binding Operations</strong></a>
|
|
and <a href="#_http_urlencoded_stop"><strong>6.8.2.2.2 Controlling
|
|
the serialization of the query string in the request
|
|
IRI</strong></a>, respectively.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a href="#property-BindingMessageReference.httpheaders">http
|
|
headers</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> components, as defined in <a href=
|
|
"#http-headers-decl"><strong>6.6 Declaring HTTP
|
|
Headers</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
components, {<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> components, as defined in <a href=
|
|
"#http-operation-decl-relate"><strong>6.5.2 Relationship to WSDL
|
|
Component Model</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>{<a href="#property-Binding.httpcontentencodingdefault">http
|
|
content encoding default</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> components, {<a href=
|
|
"#property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> components, as defined in <a href=
|
|
"#http-content-encoding-decl"><strong>6.9 Specifying the Content
|
|
Encoding</strong></a></p>
|
|
</li>
|
|
<li>
|
|
<p>{<a href="#property-Binding.httpcookies">http cookies</a>} on
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
components, as defined in <a href="#http-cookies-decl"><strong>6.10
|
|
Specifying the Use of HTTP Cookies</strong></a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a href="#property-Endpoint.httpauthenticationscheme">http
|
|
authentication scheme</a>} and {<a href=
|
|
"#property-Endpoint.httpauthenticationrealm">http authentication
|
|
realm</a>} on <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
components, as defined in <a href="#http-auth-decl"><strong>6.11
|
|
Specifying HTTP Access Authentication</strong></a></p>
|
|
</li>
|
|
</ul>
|
|
<div class="div2">
|
|
<h3><a name="soap-syntax" id="soap-syntax"></a>5.1 SOAP Syntax
|
|
Summary (Non-Normative)</h3>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"?
|
|
type="<em>http://www.w3.org/ns/wsdl/soap</em>"
|
|
whttp:queryParameterSeparatorDefault="<em>xs:string</em>"??
|
|
whttp:contentEncodingDefault="<em>xs:string</em>"??
|
|
whttp:cookies="<em>xs:boolean</em>"?
|
|
<strong>wsoap:version</strong>="<em>xs:string</em>"?
|
|
<strong>wsoap:protocol</strong>="<em>xs:anyURI</em>"
|
|
<strong>wsoap:mepDefault</strong>="<em>xs:anyURI</em>"? >
|
|
<documentation />*
|
|
|
|
<<strong>wsoap:module</strong> ref="<em>xs:anyURI</em>" required="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
</<strong>wsoap:module</strong>>*
|
|
|
|
<fault ref="<em>xs:QName</em>"
|
|
<strong>wsoap:code</strong>="<em>union of xs:QName, xs:token</em>"?
|
|
<strong>wsoap:subcodes</strong>="<em>union of (list of xs:QName), xs:token</em>"?
|
|
whttp:contentEncoding="<em>xs:string</em>"?? >
|
|
|
|
<documentation />*
|
|
|
|
<<strong>wsoap:module</strong> ... />*
|
|
<<strong>wsoap:header</strong> element="<em>xs:QName</em>" mustUnderstand="xs:boolean"?
|
|
required="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
</<strong>wsoap:header</strong>>*
|
|
<whttp:header ... />*??
|
|
|
|
</fault>*
|
|
|
|
<operation ref="<em>xs:QName</em>"
|
|
whttp:location="<em>xs:anyURI</em>"??
|
|
whttp:contentEncodingDefault="<em>xs:string</em>"??
|
|
whttp:queryParameterSeparator="<em>xs:string</em>"??
|
|
whttp:ignoreUncited="<em>xs:boolean</em>"??
|
|
<strong>wsoap:mep</strong>="<em>xs:anyURI</em>"?
|
|
<strong>wsoap:action</strong>="<em>xs:anyURI</em>"? >
|
|
|
|
<documentation />*
|
|
|
|
<<strong>wsoap:module</strong> ... />*
|
|
|
|
<input messageLabel="<em>xs:NCName</em>"?
|
|
whttp:contentEncoding="<em>xs:string</em>"?? >
|
|
<documentation />*
|
|
<<strong>wsoap:module</strong> ... />*
|
|
<<strong>wsoap:header</strong> ... />*
|
|
<<strong>whttp:header</strong> ... />*??
|
|
</input>*
|
|
|
|
<output messageLabel="<em>xs:NCName</em>"?
|
|
whttp:contentEncoding="<em>xs:string</em>"?? >
|
|
<documentation />*
|
|
<<strong>wsoap:module</strong> ... />*
|
|
<<strong>wsoap:header</strong> ... />*
|
|
<<strong>whttp:header</strong> ... />*??
|
|
</output>*
|
|
|
|
<infault ref="<em>xs:QName</em>"
|
|
messageLabel="<em>xs:NCName</em>"?>
|
|
<documentation />*
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</infault>*
|
|
|
|
<outfault ref="<em>xs:QName</em>"
|
|
messageLabel="<em>xs:NCName</em>"?>
|
|
<documentation />*
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</outfault>*
|
|
|
|
</operation>*
|
|
|
|
</binding>
|
|
|
|
<service>
|
|
<endpoint name="<em>xs:NCName</em>" binding="<em>xs:QName</em>" address="<em>xs:anyURI</em>"?
|
|
whttp:authenticationScheme="<em>xs:token</em>"??
|
|
whttp:authenticationRealm="<em>xs:string</em>"?? >
|
|
<documentation />*
|
|
</endpoint>
|
|
</service>
|
|
</description>
|
|
</pre></div>
|
|
<div class="note">
|
|
<p class="prefix"><strong>Note:</strong></p>
|
|
<p>The double question marks ("<code>??</code>") after the
|
|
attributes in the <code>whttp</code> namespace indicates that those
|
|
optional attributes only make sense when the SOAP binding uses HTTP
|
|
as the underlying protocol, for example, when the value of the
|
|
<code>wsoap:protocol</code> attribute is
|
|
"http://www.w3.org/2003/05/soap/bindings/HTTP/".</p>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-binding-decl" id="soap-binding-decl"></a>5.2
|
|
Identifying the use of the SOAP Binding</h3>
|
|
<p>A <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component (defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]) is identified as a SOAP binding by assigning
|
|
the value "http://www.w3.org/ns/wsdl/soap" to the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Binding.type">type</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-defaults" id="soap-defaults"></a>5.3 SOAP Binding
|
|
Rules</h3>
|
|
<ul>
|
|
<li>
|
|
<p><em>Payload Construction.</em> <span id="SOAPBinding-2065"
|
|
class="test-assertion-tr">When formulating the SOAP envelope to be
|
|
transmitted, the contents of the payload (i.e., the contents of the
|
|
SOAP Body <em>element information item</em> of the SOAP envelope)
|
|
MUST be what is defined by the corresponding <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component.<sup><a href=
|
|
"#SOAPBinding-2065-summary" title=
|
|
"Link to assertion SOAPBinding-2065 summary">†</a></sup></span>
|
|
This is further subject to optimization by a feature in use which
|
|
affects serialization, such as MTOM [<cite><a href="#MTOM">SOAP
|
|
Message Transmission Optimization Mechanism</a></cite>]. The
|
|
following binding rules MUST be adhered to:</p>
|
|
<ul>
|
|
<li>
|
|
<p>If the value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component is "#any", then the
|
|
payload MAY be any one XML element.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="SOAPBinding-2066" class="test-assertion-tr">If the
|
|
value is "#none", then the payload MUST be empty.<sup><a href=
|
|
"#SOAPBinding-2066-summary" title=
|
|
"Link to assertion SOAPBinding-2066 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="SOAPBinding-2067" class="test-assertion-tr">If the
|
|
value is "#element", then the payload MUST be the <em>element
|
|
information item</em> identified by the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component.<sup><a href=
|
|
"#SOAPBinding-2067-summary" title=
|
|
"Link to assertion SOAPBinding-2067 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="SOAPBinding-2068" class="test-assertion-tr">If the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component is declared using a
|
|
non-XML type system (as considered in the Types section of
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]),
|
|
then additional binding rules MUST be defined to indicate how to
|
|
map those components into the SOAP envelope.<sup><a href=
|
|
"#SOAPBinding-2068-summary" title=
|
|
"Link to assertion SOAPBinding-2068 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
<div class="note">
|
|
<p class="prefix"><strong>Note:</strong></p>
|
|
<p>This SOAP binding extension only allows one single element in
|
|
the SOAP body.</p>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<p><em>SOAP Header Construction.</em> If the {<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap headers</a>}
|
|
property as defined in section <a href=
|
|
"#soap-headers-decl"><strong>5.9 Declaring SOAP Header
|
|
Blocks</strong></a> exists and is not empty in a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component, then an <em>element information
|
|
item</em> conforming to the element declaration of a <a href=
|
|
"#component-SOAPHeaderBlock">SOAP Header Block</a> component's
|
|
{<a href="#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>} property, in the {<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap headers</a>}
|
|
property, MAY be turned into a SOAP header block for the
|
|
corresponding message.</p>
|
|
<p>If the value of the <a href="#component-SOAPHeaderBlock">SOAP
|
|
Header Block</a> component's {<a href=
|
|
"#property-SOAPHeaderBlock.required">required</a>} property is
|
|
"true", the inclusion of this SOAP header block is REQUIRED,
|
|
otherwise it is OPTIONAL.</p>
|
|
<p>And, if the <a href="#component-SOAPHeaderBlock">SOAP Header
|
|
Block</a> component's {<a href=
|
|
"#property-SOAPHeaderBlock.mustUnderstand">mustUnderstand</a>}
|
|
property is present and its value is "true", that particular SOAP
|
|
header block MUST be marked with a <code>mustUnderstand</code>
|
|
<em>attribute information item</em> with a value of "true" or "1"
|
|
as per the SOAP specification.</p>
|
|
<p>SOAP header blocks other than the ones declared in the {<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap headers</a>}
|
|
property may be present at run-time, such as the SOAP header blocks
|
|
resulting from SOAP modules declared as explained in section
|
|
<a href="#soap-module-decl"><strong>5.8 Declaring SOAP
|
|
Modules</strong></a>.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-version" id="soap-version"></a>5.4 Specifying the
|
|
SOAP Version</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-version-description" id=
|
|
"soap-version-description"></a>5.4.1 Description</h4>
|
|
<p><span id="SOAPBinding-2069" class="test-assertion-tr">Every SOAP
|
|
binding MUST indicate what version of SOAP is in use for the
|
|
operations of the interface that this binding applies
|
|
to.<sup><a href="#SOAPBinding-2069-summary" title=
|
|
"Link to assertion SOAPBinding-2069 summary">†</a></sup></span></p>
|
|
<p>By default, SOAP 1.2 [<cite><a href="#SOAP12-PART1">SOAP 1.2
|
|
Part 1: Messaging Framework (Second Edition)</a></cite>] is
|
|
used.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-version-relate" id=
|
|
"soap-version-relate"></a>5.4.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The SOAP protocol specification adds the following property to
|
|
the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.soapversion" id=
|
|
"property-Binding.soapversion">soap version</a>} REQUIRED. A
|
|
<em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-version-decl-xml" id=
|
|
"soap-version-decl-xml"></a>5.4.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"? type="<em>xs:anyURI</em>"
|
|
<strong>wsoap:version</strong>="<em>xs:string</em>"? >
|
|
...
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for specifying the SOAP version is an
|
|
optional <em>attribute information item</em> with the following
|
|
Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>version</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-version-decl-mapping" id=
|
|
"soap-version-decl-mapping"></a>5.4.4 Mapping from XML
|
|
Representation to Component properties</h4>
|
|
<p>See <a href="#tab_SOAP_version_Mapping">Table 5-1</a>.</p>
|
|
<a name="tab_SOAP_version_Mapping" id=
|
|
"tab_SOAP_version_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-1. Mapping from XML Representation to Binding
|
|
component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.soapversion">soap version</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>wsoap:version</code> <em>attribute information item</em>, if
|
|
present; otherwise "1.2".</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-protocol" id="soap-protocol"></a>5.5 Specifying
|
|
the SOAP Underlying Protocol</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-protocol-description" id=
|
|
"soap-protocol-description"></a>5.5.1 Description</h4>
|
|
<p><span id="SOAPBinding-2070" class="test-assertion-tr">Every SOAP
|
|
binding MUST indicate what underlying protocol is in
|
|
use.<sup><a href="#SOAPBinding-2070-summary" title=
|
|
"Link to assertion SOAPBinding-2070 summary">†</a></sup></span></p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-protocol-relate" id=
|
|
"soap-protocol-relate"></a>5.5.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The SOAP protocol specification adds the following property to
|
|
the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.soapunderlyingprotocol" id=
|
|
"property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>} REQUIRED. A <em>xs:anyURI</em>, which is an absolute
|
|
IRI as defined by [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>], to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component. This IRI refers to an appropriate SOAP underlying
|
|
protocol binding (see SOAP Protocol Binding Framework in
|
|
[<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework
|
|
(Second Edition)</a></cite>]), which is to be used for any of the
|
|
SOAP interactions described by this binding.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-binding-decl-xml" id=
|
|
"soap-binding-decl-xml"></a>5.5.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"? type="<em>xs:anyURI</em>"
|
|
<strong>wsoap:protocol</strong>="<em>xs:anyURI</em>" >
|
|
...
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for specifying the SOAP protocol is a
|
|
REQUIRED <em>attribute information item</em> with the following
|
|
Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>protocol</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-binding-decl-mapping" id=
|
|
"soap-binding-decl-mapping"></a>5.5.4 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_SOAP_Binding_Mapping">Table 5-2</a>.</p>
|
|
<a name="tab_SOAP_Binding_Mapping" id=
|
|
"tab_SOAP_Binding_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-2. Mapping from XML Representation to Binding
|
|
component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>wsoap:protocol</code> <em>attribute information
|
|
item</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-fault-decl" id="soap-fault-decl"></a>5.6 Binding
|
|
Faults</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-fault-decl-description" id=
|
|
"soap-fault-decl-description"></a>5.6.1 Description</h4>
|
|
<p><span id="SOAPBindingFault-2071" class="test-assertion-tr">For
|
|
every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component contained in an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component, a mapping to a SOAP Fault MUST be
|
|
described.<sup><a href="#SOAPBindingFault-2071-summary" title=
|
|
"Link to assertion SOAPBindingFault-2071 summary">†</a></sup></span>
|
|
This binding extension specification allows the user to indicate
|
|
the SOAP fault code and subcodes that are transmitted for a given
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-fault-decl-relate" id=
|
|
"soap-fault-decl-relate"></a>5.6.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The SOAP Fault binding extension adds the following properties
|
|
to the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingFault.soapfaultcode" id=
|
|
"property-BindingFault.soapfaultcode">soap fault code</a>}
|
|
REQUIRED. A union of <em>xs:QName</em> and <em>xs:token</em>, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component, where:</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="SOAPBindingFault-2072" class="test-assertion-tr">when
|
|
the value of the {<a href="#property-Binding.soapversion">soap
|
|
version</a>} is "1.2", the allowed QNames MUST be the ones defined
|
|
by [<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1: Messaging
|
|
Framework (Second Edition)</a></cite>], section 5.4.6<sup><a href=
|
|
"#SOAPBindingFault-2072-summary" title=
|
|
"Link to assertion SOAPBindingFault-2072 summary">†</a></sup></span>;</p>
|
|
</li>
|
|
<li>
|
|
<p>the allowed token value is "#any".</p>
|
|
</li>
|
|
</ul>
|
|
<p>The value of this property identifies a possible SOAP fault for
|
|
the operations in scope. If the value of this property is "#any",
|
|
no assertion is made about the possible value of the SOAP fault
|
|
code.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingFault.soapfaultsubcodes" id=
|
|
"property-BindingFault.soapfaultsubcodes">soap fault subcodes</a>}
|
|
REQUIRED. A union of list of <em>xs:QName</em>, and
|
|
<em>xs:token</em> where the allowed token value is "#any", to the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component. The value of this property identifies
|
|
one or more subcodes for this SOAP fault. The list of subcodes is
|
|
the nested sequence of subcodes. An empty list represents a fault
|
|
code without subcodes.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-fault-decl-xml" id=
|
|
"soap-fault-decl-xml"></a>5.6.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding >
|
|
<fault ref="<em>xs:QName</em>"
|
|
<strong>wsoap:code</strong>="<em>union of xs:QName, xs:token</em>"?
|
|
<strong>wsoap:subcodes</strong>="<em>union of (list of xs:QName), xs:token</em>"? >
|
|
<documentation />*
|
|
</fault>*
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for binding a SOAP Fault are two
|
|
<em>attribute information item</em>s with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>wsoap:code OPTIONAL <em>attribute information item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>code</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of union of <em>xs:QName</em> and <em>xs:token</em> where
|
|
the allowed token value is "#any"</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>wsoap:subcodes OPTIONAL <em>attribute information item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>subcodes</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of union of list of <em>xs:QName</em>, and
|
|
<em>xs:token</em> where the allowed token value is "#any"</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-fault-decl-mapping" id=
|
|
"soap-fault-decl-mapping"></a>5.6.4 Mapping XML Representation to
|
|
Component Properties</h4>
|
|
<p>See <a href="#tab_SOAP_Fault_Mapping">Table 5-3</a>.</p>
|
|
<a name="tab_SOAP_Fault_Mapping" id="tab_SOAP_Fault_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-3. Mapping from XML Representation to SOAP Fault
|
|
component Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFault.soapfaultcode">soap fault code</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>code</code> <em>attribute information item</em>, if present;
|
|
otherwise "#any".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFault.soapfaultsubcodes">soap fault
|
|
subcodes</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>subcodes</code> <em>attribute information item</em>, if
|
|
present; otherwise "#any".</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-operation-decl" id="soap-operation-decl"></a>5.7
|
|
Binding Operations</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-operation-decl-description" id=
|
|
"soap-operation-decl-description"></a>5.7.1 Description</h4>
|
|
<p>For every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component contained in an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component, in addition to the binding rules (for SOAP
|
|
1.2, see <a href="#soap12-defaults"><strong>5.10.3 SOAP 1.2 Binding
|
|
Rules</strong></a>), there may be additional binding information to
|
|
be specified. This binding extension specification allows the user
|
|
to indicate the SOAP Message Exchange Pattern (MEP) and a value for
|
|
the SOAP Action Feature on a per-operation basis.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-operation-decl-relate" id=
|
|
"soap-operation-decl-relate"></a>5.7.2 Relationship to WSDL
|
|
Component Model</h4>
|
|
<p>The SOAP Operation binding extension specification adds the
|
|
following property to the WSDL component model (as defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.soapmepdefault" id=
|
|
"property-Binding.soapmepdefault">soap mep default</a>} OPTIONAL.
|
|
<span id="SOAPMEPDefault-2073" class="test-assertion-tr">A
|
|
<em>xs:anyURI</em>, which is an absolute IRI as defined by
|
|
[<cite><a href="#RFC3987">IETF RFC 3987</a></cite>], to the
|
|
<a href="http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">
|
|
Binding</a> component.<sup><a href="#SOAPMEPDefault-2073-summary"
|
|
title=
|
|
"Link to assertion SOAPMEPDefault-2073 summary">†</a></sup></span>
|
|
The value of this property identifies the default SOAP Message
|
|
Exchange Pattern (MEP) for all the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components of any <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component to which this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
is applied.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.soapmep" id=
|
|
"property-BindingOperation.soapmep">soap mep</a>} OPTIONAL.
|
|
<span id="SOAPMEP-2074" class="test-assertion-tr">A
|
|
<em>xs:anyURI</em>, which is an absolute IRI as defined by
|
|
[<cite><a href="#RFC3987">IETF RFC 3987</a></cite>], to the
|
|
<a href="http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component.<sup><a href=
|
|
"#SOAPMEP-2074-summary" title=
|
|
"Link to assertion SOAPMEP-2074 summary">†</a></sup></span> The
|
|
value of this property identifies the SOAP Message Exchange Pattern
|
|
(MEP) for this specific operation (see <a href=
|
|
"#soap12-defaults"><strong>5.10.3 SOAP 1.2 Binding
|
|
Rules</strong></a>, paragraph "SOAP MEP Selection", for constraints
|
|
on bindings).</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.soapaction" id=
|
|
"property-BindingOperation.soapaction">soap action</a>} OPTIONAL.
|
|
<span id="SOAPAction-2075" class="test-assertion-tr">A
|
|
<em>xs:anyURI</em>, which is an absolute IRI as defined by
|
|
[<cite><a href="#RFC3987">IETF RFC 3987</a></cite>], to the
|
|
<a href="http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component.<sup><a href=
|
|
"#SOAPAction-2075-summary" title=
|
|
"Link to assertion SOAPAction-2075 summary">†</a></sup></span> The
|
|
value of this property identifies the value of the SOAP Action
|
|
Feature for the initial message of the message exchange pattern of
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound, as specified in the binding rules of
|
|
bindings to specific versions of SOAP (see <a href=
|
|
"#soap12-defaults"><strong>5.10.3 SOAP 1.2 Binding
|
|
Rules</strong></a> for the SOAP 1.2 binding when the value of the
|
|
{<a href="#property-Binding.soapversion">soap version</a>} property
|
|
of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component is "1.2").</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-operation-decl-xml" id=
|
|
"soap-operation-decl-xml"></a>5.7.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding <strong>wsoap:mepDefault</strong>="<em>xs:anyURI</em>"? >
|
|
<operation ref="<em>xs:QName</em>"
|
|
<strong>wsoap:mep</strong>="<em>xs:anyURI</em>"?
|
|
<strong>wsoap:action</strong>="<em>xs:anyURI</em>"? >
|
|
</operation>
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for binding a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> are two <em>attribute information item</em>s
|
|
with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>wsoap:mep OPTIONAL <em>attribute information item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>mep</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>wsoap:action OPTIONAL <em>attribute information item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>action</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>The following <em>attribute information item</em> for the
|
|
<code>binding</code> <em>element information item</em> is
|
|
defined:</p>
|
|
<ul>
|
|
<li>
|
|
<p>wsoap:mepDefault OPTIONAL <em>attribute information
|
|
item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>mepDefault</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of " http://www.w3.org/ns/wsdl/soap "</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-operation-decl-mapping" id=
|
|
"soap-operation-decl-mapping"></a>5.7.4 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_SOAP_Operation_Mapping">Table 5-4</a>.</p>
|
|
<a name="tab_SOAP_Operation_Mapping" id=
|
|
"tab_SOAP_Operation_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-4. Mapping from XML Representation to SOAP
|
|
Operation Component Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.soapmepdefault">soap mep default</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>wsoap:mepDefault</code> <em>attribute information item</em>,
|
|
if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.soapmep">soap mep</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>wsoap:mep</code> <em>attribute information item</em>, if
|
|
present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>wsoap:action</code> <em>attribute information item</em>, if
|
|
any.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-module-decl" id="soap-module-decl"></a>5.8
|
|
Declaring SOAP Modules</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-description" id=
|
|
"soap-module-decl-description"></a>5.8.1 Description</h4>
|
|
<p>The SOAP messaging framework allows a Web service to engage one
|
|
or more additional features (typically implemented as one or more
|
|
SOAP header blocks), as defined by SOAP Modules (see
|
|
[<cite><a href="#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework
|
|
(Second Edition)</a></cite>]). This binding extension specification
|
|
allows description of which SOAP Modules are in use across an
|
|
entire binding, on a per operation basis or on a per-message
|
|
basis.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-relate" id=
|
|
"soap-module-decl-relate"></a>5.8.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The <a href="#component-SOAPModule">SOAP Module</a> component
|
|
adds the following property to the WSDL component model (as defined
|
|
in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.soapmodules" id=
|
|
"property-Binding.soapmodules">soap modules</a>} OPTIONAL. A set of
|
|
<a href="#component-SOAPModule">SOAP Module</a> components as
|
|
defined in <a href="#soap-module-decl-property"><strong>5.8.3 SOAP
|
|
Module component</strong></a> to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingOperation.soapmodules" id=
|
|
"property-BindingOperation.soapmodules">soap modules</a>} OPTIONAL,
|
|
to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name=
|
|
"property-BindingMessageReference.soapmodules" id=
|
|
"property-BindingMessageReference.soapmodules">soap modules</a>}
|
|
OPTIONAL, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingFault.soapmodules" id=
|
|
"property-BindingFault.soapmodules">soap modules</a>} OPTIONAL, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingFaultReference.soapmodules"
|
|
id="property-BindingFaultReference.soapmodules">soap modules</a>}
|
|
OPTIONAL, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a> component</p>
|
|
</li>
|
|
</ul>
|
|
<p>The SOAP modules applicable for a particular operation of any
|
|
service, consists of all the modules specified in the input or
|
|
output <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> components, the infault or outfault
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a> components, those specified within the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> components, those specified within the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> components and those specified within the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component. If any module is declared in multiple components, then
|
|
the requiredness of that module is defined by the closest
|
|
declaration, where closeness is defined by whether it is specified
|
|
directly at the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a> component level, the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> level or the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component level or the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component level, respectively.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-property" id=
|
|
"soap-module-decl-property"></a>5.8.3 SOAP Module component</h4>
|
|
<p>The <a href="#component-SOAPModule">SOAP Module</a> component
|
|
identifies a SOAP module that is in use.</p>
|
|
<p>The properties of the <a name="component-SOAPModule" id=
|
|
"component-SOAPModule">SOAP Module</a> component are as
|
|
follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-SOAPModule.ref" id=
|
|
"property-SOAPModule.ref">ref</a>} REQUIRED. <span id=
|
|
"SOAPModule-2076" class="test-assertion-tr">A <em>xs:anyURI</em>,
|
|
which is an absolute IRI as defined by [<cite><a href=
|
|
"#RFC3987">IETF RFC 3987</a></cite>].<sup><a href=
|
|
"#SOAPModule-2076-summary" title=
|
|
"Link to assertion SOAPModule-2076 summary">†</a></sup></span> The
|
|
value of this property uniquely identifies the SOAP module that is
|
|
in use (as per the SOAP 1.2 [<cite><a href="#SOAP12-PART1">SOAP 1.2
|
|
Part 1: Messaging Framework (Second Edition)</a></cite>] processing
|
|
model).</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-SOAPModule.required" id=
|
|
"property-SOAPModule.required">required</a>} REQUIRED. A
|
|
<em>xs:boolean</em> indicating if the SOAP module is required.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-SOAPModule.parent" id=
|
|
"property-SOAPModule.parent">parent</a>} REQUIRED. The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>,
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a>, <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a>, <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a> components that contains this component
|
|
in its {<a href="#property-Binding.soapmodules">soap modules</a>}
|
|
property.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-xml" id=
|
|
"soap-module-decl-xml"></a>5.8.4 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding >
|
|
<<strong>wsoap:module</strong> ref="<em>xs:anyURI</em>"
|
|
required="<em>xs:boolean</em>"? >
|
|
<documentation ... />*
|
|
</<strong>wsoap:module</strong>>
|
|
<fault>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</fault>
|
|
<operation>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
<input>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</input>
|
|
<output>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</output>
|
|
<infault>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</infault>
|
|
<outfault>
|
|
<<strong>wsoap:module</strong> ... />*
|
|
</outfault>
|
|
</operation>
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for a <a href=
|
|
"#component-SOAPModule">SOAP Module</a> component is an <em>element
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>module</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>One or more <em>attribute information item</em>s amongst its
|
|
[attributes] as follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A REQUIRED <code>ref</code> <em>attribute information item</em>
|
|
with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>ref</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>required</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>required</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace qualified <em>attribute information
|
|
item</em>s. The [namespace name] of such <em>attribute information
|
|
item</em>s MUST NOT be "http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/soap".</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more <em>element information item</em> amongst its
|
|
[children], in order, as follows:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>Zero or more <code>documentation</code> <em>element information
|
|
item</em>s as defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace-qualified <em>element information
|
|
item</em>s amongst its [children]. The [namespace name] of such
|
|
<em>element information item</em>s MUST NOT be
|
|
"http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/soap".</p>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-mapping" id=
|
|
"soap-module-decl-mapping"></a>5.8.5 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_SOAP_Module_Mapping">Table 5-5</a>.</p>
|
|
<a name="tab_SOAP_Module_Mapping" id="tab_SOAP_Module_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-5. Mapping from XML Representation to SOAP Module
|
|
component-related Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.soapmodules">soap modules</a>}</td>
|
|
<td rowspan="1" colspan="1">The set of <a href=
|
|
"#component-SOAPModule">SOAP Module</a> components corresponding to
|
|
all the <code>module</code> <em>element information item</em> in
|
|
the [children] of the <code>binding</code>, <code>operation</code>,
|
|
<code>fault</code>, <code>input</code>, <code>output</code>,
|
|
<code>infault</code>, <code>outfault</code> <em>element information
|
|
item</em>s, if any.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPModule.ref">ref</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>ref</code> <em>attribute information item</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPModule.required">required</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>required</code> <em>attribute information item</em>, if
|
|
present; otherwise "false".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPModule.parent">parent</a>}</td>
|
|
<td rowspan="1" colspan="1">The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>,
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a>, <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a>, <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a> component corresponding to the
|
|
<code>binding</code>, <code>operation</code>, <code>fault</code>,
|
|
<code>input</code>, <code>output</code>, <code>infault</code> or
|
|
<code>outfault</code> <em>element information item</em> in
|
|
[parent].</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
<div class="div3">
|
|
<h4><a name="soap-module-decl-fragid" id=
|
|
"soap-module-decl-fragid"></a>5.8.6 IRI Identification Of A SOAP
|
|
Module component</h4>
|
|
<p>WSDL Version 2.0 Part 1: Core Language [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>] defines a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">fragment
|
|
identifier syntax</a> for identifying components of a WSDL 2.0
|
|
document.</p>
|
|
<p>A <a href="#component-SOAPModule">SOAP Module</a> component can
|
|
be identified using the <em><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#wsdl.extension">wsdl.extension</a></em>
|
|
XPointer Framework scheme:</p>
|
|
<p><code>wsdl.extension(http://www.w3.org/ns/wsdl/soap,
|
|
wsoap.module(<em>parent</em>/<em>ref</em>))</code></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
{<a href="#property-SOAPModule.parent">parent</a>} component, as
|
|
specified in <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">appendix
|
|
A.2, Fragment Identifiers</a> in [<cite><a href="#WSDL-PART1">WSDL
|
|
2.0 Core Language</a></cite>]. parts.</p>
|
|
</li>
|
|
<li>
|
|
<p><em><code>ref</code></em> is the value of the {<a href=
|
|
"#property-SOAPModule.ref">ref</a>} property of the component.</p>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-headers-decl" id="soap-headers-decl"></a>5.9
|
|
Declaring SOAP Header Blocks</h3>
|
|
<div class="div3">
|
|
<h4><a name="soap-headers-decl-description" id=
|
|
"soap-headers-decl-description"></a>5.9.1 Description</h4>
|
|
<p>SOAP allows the use of header blocks in the header part of the
|
|
message. This binding extension allows users to declare the SOAP
|
|
header blocks in use on a per-message and on a per-fault basis.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-headers-decl-relate" id=
|
|
"soap-headers-decl-relate"></a>5.9.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The SOAP Header Blocks binding extension specification adds the
|
|
following property to the WSDL component model (as defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingMessageReference.soapheaders" id=
|
|
"property-BindingMessageReference.soapheaders">soap headers</a>}
|
|
OPTIONAL. A set of <a href="#component-SOAPHeaderBlock">SOAP Header
|
|
Block</a> components as defined in <a href=
|
|
"#soap-header-decl-property"><strong>5.9.3 SOAP Header Block
|
|
component</strong></a>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component.</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingFault.soapheaders" id=
|
|
"property-BindingFault.soapheaders">soap headers</a>} OPTIONAL, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-header-decl-property" id=
|
|
"soap-header-decl-property"></a>5.9.3 SOAP Header Block
|
|
component</h4>
|
|
<p>A <a href="#component-SOAPHeaderBlock">SOAP Header Block</a>
|
|
component describes an abstract piece of header data (SOAP header
|
|
block) that is associated with the exchange of messages between the
|
|
communicating parties. The presence of a <a href=
|
|
"#component-SOAPHeaderBlock">SOAP Header Block</a> component in a
|
|
WSDL description indicates that the service supports headers, and
|
|
MAY require a client interacting with the service to use the
|
|
described header block. Zero or one such header block may be
|
|
used.</p>
|
|
<p>The properties of the <a name="component-SOAPHeaderBlock" id=
|
|
"component-SOAPHeaderBlock">SOAP Header Block</a> component are as
|
|
follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-SOAPHeaderBlock.elementdeclaration" id=
|
|
"property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>} REQUIRED. An XML element declaration in the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.elementdeclarations">element
|
|
declarations</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Description">
|
|
Description</a> component. This XML element declaration uniquely
|
|
represents a specific SOAP header block.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-SOAPHeaderBlock.mustUnderstand" id=
|
|
"property-SOAPHeaderBlock.mustUnderstand">mustUnderstand</a>}
|
|
REQUIRED. A <em>xs:boolean</em>. <span id="SOAPHeaderBlock-2077"
|
|
class="test-assertion-tr">When its value is "true", the SOAP header
|
|
block MUST be decorated with a SOAP <code>mustUnderstand</code>
|
|
<em>attribute information item</em> with a value of "true"; if so,
|
|
the XML element declaration referenced by the {<a href=
|
|
"#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>} property MUST allow this SOAP
|
|
<code>mustUnderstand</code> <em>attribute information
|
|
item</em>.<sup><a href="#SOAPHeaderBlock-2077-summary" title=
|
|
"Link to assertion SOAPHeaderBlock-2077 summary">†</a></sup></span>
|
|
Otherwise, no additional constraint is placed on the presence and
|
|
value of a SOAP <code>mustUnderstand</code> <em>attribute
|
|
information item</em>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-SOAPHeaderBlock.required" id=
|
|
"property-SOAPHeaderBlock.required">required</a>} REQUIRED. A
|
|
<em>xs:boolean</em> indicating if the SOAP header block is
|
|
required. <span id="SOAPHeaderBlock-2078" class=
|
|
"test-assertion-tr">If the value is "true", then the SOAP header
|
|
block MUST be included in the message.<sup><a href=
|
|
"#SOAPHeaderBlock-2078-summary" title=
|
|
"Link to assertion SOAPHeaderBlock-2078 summary">†</a></sup></span>
|
|
If it is "false", then the SOAP header block MAY be included.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-SOAPHeaderBlock.parent" id=
|
|
"property-SOAPHeaderBlock.parent">parent</a>} REQUIRED. The
|
|
<a href="http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component that contains this
|
|
component in its {<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap headers</a>}
|
|
property.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-headers-decl-xml" id=
|
|
"soap-headers-decl-xml"></a>5.9.4 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" type="<em>http://www.w3.org/ns/wsdl/soap</em>" >
|
|
<fault ref="<em>xs:QName</em>" >
|
|
<<strong>wsoap:header</strong> element="<em>xs:QName</em>" mustUnderstand="<em>xs:boolean</em>"?
|
|
required="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
</<strong>wsoap:header</strong>>*
|
|
...
|
|
</fault>*
|
|
<operation ref="<em>xs:QName</em>" >
|
|
<input messageLabel="<em>xs:NCName</em>"?>
|
|
<<strong>wsoap:header</strong> ... />*
|
|
...
|
|
</input>*
|
|
<output messageLabel="<em>xs:NCName</em>"?>
|
|
<<strong>wsoap:header</strong> ... />*
|
|
...
|
|
</output>*
|
|
</operation>*
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for a <a href=
|
|
"#component-SOAPHeaderBlock">SOAP Header Block</a> component is an
|
|
<em>element information item</em> with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>header</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/soap"</p>
|
|
</li>
|
|
<li>
|
|
<p>One or more <em>attribute information item</em>s amongst its
|
|
[attributes] as follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A REQUIRED <code>element</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>element</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:QName</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>mustUnderstand</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>mustUnderstand</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>required</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>required</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace qualified <em>attribute information
|
|
item</em>s. The [namespace name] of such <em>attribute information
|
|
item</em>s MUST NOT be "http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/soap".</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more <em>element information item</em> amongst its
|
|
[children], in order, as follows:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>Zero or more <code>documentation</code> <em>element information
|
|
item</em>s as defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace-qualified <em>element information
|
|
item</em>s amongst its [children]. The [namespace name] of such
|
|
<em>element information item</em>s MUST NOT be
|
|
"http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/soap".</p>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap-headers-decl-mapping" id=
|
|
"soap-headers-decl-mapping"></a>5.9.5 Mapping XML Representation to
|
|
Component Properties</h4>
|
|
<p>See <a href="#tab_SOAP_Header_Mapping">Table 5-6</a>.</p>
|
|
<a name="tab_SOAP_Header_Mapping" id="tab_SOAP_Header_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 5-6. Mapping from XML Representation to SOAP Header
|
|
Block component-related Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap
|
|
headers</a>}</td>
|
|
<td rowspan="1" colspan="1">The set of <a href=
|
|
"#component-SOAPHeaderBlock">SOAP Header Block</a> components
|
|
corresponding to all the <code>header</code> <em>element
|
|
information item</em> in the [children] of the <code>fault</code>,
|
|
<code>input</code> or <code>output</code> <em>element information
|
|
item</em>, if any.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>}</td>
|
|
<td rowspan="1" colspan="1">The element declaration from the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.elementdeclarations">element
|
|
declarations</a>} resolved to by the value of the
|
|
<code>element</code> <em>attribute information item</em>. <span id=
|
|
"SOAPHeaderBlock-2079" class="test-assertion-tr">The value of the
|
|
<code>element</code> <em>attribute information item</em> MUST
|
|
resolve to a global element declaration from the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.elementdeclarations">element
|
|
declarations</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Description">
|
|
Description</a> component.<sup><a href=
|
|
"#SOAPHeaderBlock-2079-summary" title=
|
|
"Link to assertion SOAPHeaderBlock-2079 summary">†</a></sup></span></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPHeaderBlock.mustUnderstand">mustUnderstand</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>mustUnderstand</code> <em>attribute information item</em>, if
|
|
present; otherwise "false".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPHeaderBlock.required">required</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>required</code> <em>attribute information item</em>, if
|
|
present; otherwise "false".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPHeaderBlock.parent">parent</a>}</td>
|
|
<td rowspan="1" colspan="1">The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component corresponding to the
|
|
<code>fault</code>, <code>input</code> or <code>output</code>
|
|
<em>element information item</em> in [parent].</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
<div class="div3">
|
|
<h4><a name="soap-headers-decl-fragid" id=
|
|
"soap-headers-decl-fragid"></a>5.9.6 IRI Identification Of A SOAP
|
|
Header Block component</h4>
|
|
<p>WSDL Version 2.0 Part 1: Core Language [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>] defines a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">fragment
|
|
identifier syntax</a> for identifying components of a WSDL 2.0
|
|
document.</p>
|
|
<p>A <a href="#component-SOAPHeaderBlock">SOAP Header Block</a>
|
|
component can be identified using the <em><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#wsdl.extension">wsdl.extension</a></em>
|
|
XPointer Framework scheme:</p>
|
|
<p><code>wsdl.extension(http://www.w3.org/ns/wsdl/soap,
|
|
wsoap.header(<em>parent</em>/<em>element
|
|
declaration</em>))</code></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p><em><code>parent</code></em> is the "wsdl.*" pointer part of the
|
|
{<a href="#property-SOAPHeaderBlock.parent">parent</a>} component,
|
|
as specified in <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">appendix
|
|
A.2, Fragment Identifiers</a> in [<cite><a href="#WSDL-PART1">WSDL
|
|
2.0 Core Language</a></cite>], i.e. without the xmlns() pointer
|
|
parts.</p>
|
|
</li>
|
|
<li>
|
|
<p><em><code>element declaration</code></em> is the value of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-.name">name</a>}
|
|
of the Element Declaration component that is referred to by the
|
|
{<a href="#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>} property of the SOAP Header Block component.</p>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap12-binding" id="soap12-binding"></a>5.10 WSDL SOAP
|
|
1.2 Binding</h3>
|
|
<p>This section describes the SOAP 1.2 binding for WSDL 2.0. This
|
|
binding does NOT natively support the full range of capabilities
|
|
from SOAP 1.2. Certain capabilities not widely used, or viewed as
|
|
problematic in practice, are not available -in many cases because
|
|
supporting them was considered as adding considerable complexity to
|
|
the language. Here are examples of such unsupported
|
|
capabilities:</p>
|
|
<ul>
|
|
<li>
|
|
<p>multiple children of the SOAP Body;</p>
|
|
</li>
|
|
<li>
|
|
<p>multiple SOAP Fault Detail entries;</p>
|
|
</li>
|
|
<li>
|
|
<p>non-qualified elements as children of a SOAP Fault Detail.</p>
|
|
</li>
|
|
</ul>
|
|
<div class="div3">
|
|
<h4><a name="soap12-binding-decl" id=
|
|
"soap12-binding-decl"></a>5.10.1 Identifying a WSDL SOAP 1.2
|
|
Binding</h4>
|
|
<p>A WSDL SOAP Binding is identified as a SOAP 1.2 binding by
|
|
assigning the value "1.2" to the {<a href=
|
|
"#property-Binding.soapversion">soap version</a>} property of the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap12-binding-description" id=
|
|
"soap12-binding-description"></a>5.10.2 Description</h4>
|
|
<p>The WSDL SOAP 1.2 binding extension defined in this section is
|
|
an extension of the SOAP binding defined in section <a href=
|
|
"#soap-binding"><strong>5. WSDL SOAP Binding Extension</strong></a>
|
|
to enable Web service applications to use SOAP 1.2 [<cite><a href=
|
|
"#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework (Second
|
|
Edition)</a></cite>].</p>
|
|
<p>The WSDL SOAP 1.2 binding extension supports the SOAP 1.2 HTTP
|
|
binding defined by the [<cite><a href="#SOAP12-PART2">SOAP 1.2 Part
|
|
2: Adjuncts (Second Edition)</a></cite>] specification. This is
|
|
indicated by assigning the URI
|
|
"http://www.w3.org/2003/05/soap/bindings/HTTP/" (as defined by
|
|
[<cite><a href="#SOAP12-PART2">SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)</a></cite>]) to the {<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>} property. Other values MAY be used for this property
|
|
in conjunction with the SOAP 1.2 binding extension defined by this
|
|
specification provided that the semantics of such protocols are
|
|
consistent with this binding extension.</p>
|
|
<p>Default rules in section <a href=
|
|
"#soap12-defaults"><strong>5.10.3 SOAP 1.2 Binding
|
|
Rules</strong></a> define the relationship between SOAP message
|
|
exchange patterns defined in [<cite><a href="#SOAP12-PART2">SOAP
|
|
1.2 Part 2: Adjuncts (Second Edition)</a></cite>] and WSDL message
|
|
exchange patterns defined in section <a href="#meps"><strong>2.
|
|
Predefined Message Exchange Patterns</strong></a>.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="soap12-defaults" id="soap12-defaults"></a>5.10.3 SOAP
|
|
1.2 Binding Rules</h4>
|
|
<p>These binding rules are applicable to SOAP 1.2 bindings.</p>
|
|
<ul>
|
|
<li>
|
|
<p><em>SOAP Action Feature.</em> The value of the SOAP Action
|
|
Feature for the initial message of the message exchange pattern of
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound is specified by the {<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>} property
|
|
of this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. If the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component does NOT have a {<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>} property
|
|
defined, then the SOAP Action Feature (see [<cite><a href=
|
|
"#SOAP12-PART2">SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)</a></cite>]) has NO value. Otherwise, its value is the
|
|
value of the SOAP Action Feature for the initial message of the
|
|
message exchange pattern. The {<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>} property
|
|
has NO effect when binding to the SOAP-Response MEP.</p>
|
|
</li>
|
|
<li>
|
|
<p><em>SOAP MEP Selection.</em> <span id="SOAPMEPSelection-2080"
|
|
class="test-assertion-tr">For a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component, if there is a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-BindingOperation.interfaceoperation">interface
|
|
operation</a>} property matches the component in question and its
|
|
{<a href="#property-BindingOperation.soapmep">soap mep</a>}
|
|
property has a value, then the SOAP MEP is the value of the
|
|
{<a href="#property-BindingOperation.soapmep">soap mep</a>}
|
|
property. Otherwise, the SOAP MEP is the value of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component's {<a href="#property-Binding.soapmepdefault">soap mep
|
|
default</a>}, if any. Otherwise, the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property MUST have the value
|
|
"http://www.w3.org/ns/wsdl/in-out", and the SOAP MEP is the URI
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" identifying
|
|
the SOAP Request-Response Message Exchange Pattern as defined in
|
|
[<cite><a href="#SOAP12-PART2">SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)</a></cite>].<sup><a href="#SOAPMEPSelection-2080-summary"
|
|
title=
|
|
"Link to assertion SOAPMEPSelection-2080 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><em>SOAP Detail Element.</em> <span id=
|
|
"SOAP12Binding-SOAPDetail-2081" class="test-assertion-tr">If any,
|
|
the value of the SOAP "Detail" element MUST be the <em>element
|
|
information item</em> identified by the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component.<sup><a href=
|
|
"#SOAP12Binding-SOAPDetail-2081-summary" title=
|
|
"Link to assertion SOAP12Binding-SOAPDetail-2081 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><em>HTTP Method Selection.</em> <span id=
|
|
"SOAPHTTPSelection-2082" class="test-assertion-tr">This default
|
|
binding rule is applicable when the value of the {<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component is "http://www.w3.org/2003/05/soap/bindings/HTTP/". If
|
|
the SOAP MEP selected as specified above has the value
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" then the
|
|
HTTP method used is "POST". If the SOAP MEP selected has the value
|
|
"http://www.w3.org/2003/05/soap/mep/soap-response/" then the HTTP
|
|
method used is "GET".<sup><a href="#SOAPHTTPSelection-2082-summary"
|
|
title=
|
|
"Link to assertion SOAPHTTPSelection-2082 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="wsdl-mep-soap-mep" id="wsdl-mep-soap-mep"></a>5.10.4
|
|
Binding WSDL 2.0 MEPs to SOAP 1.2 MEPs</h4>
|
|
<p>This section describes the relationship between WSDL components
|
|
and SOAP 1.2 MEP properties as described in [<cite><a href=
|
|
"#SOAP12-PART2">SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)</a></cite>].</p>
|
|
<div class="div4">
|
|
<h5><a name="in-out-soap-r-r" id="in-out-soap-r-r"></a>5.10.4.1
|
|
WSDL In-Out to SOAP Request-Response</h5>
|
|
<p>This section describes the mapping from the WSDL
|
|
"http://www.w3.org/ns/wsdl/in-out" Message Exchange Pattern (MEP)
|
|
to the SOAP "http://www.w3.org/2003/05/soap/mep/request-response/"
|
|
MEP (as would be the case for a usual SOAP-over-HTTP In-Out
|
|
operation). Extensions (such as [<cite><a href="#WSA-Core">WSA 1.0
|
|
Core</a></cite>]) MAY alter these mappings.</p>
|
|
<div class="div5">
|
|
<h6><a name="in-out-soap-r-r-client" id=
|
|
"in-out-soap-r-r-client"></a>5.10.4.1.1 The Client</h6>
|
|
<p>As the client, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RequestingSOAPNode".</p>
|
|
<p>The SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/ImmediateDestination" property
|
|
takes the value of the HTTP Request IRI, as defined in <a href=
|
|
"#_http_request_iri_"><strong>6.4.6 HTTP Request IRI</strong></a>,
|
|
and modified as described in section <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a>.</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/OutboundMessage" property.</p>
|
|
<p>The WSDL "Out" message maps to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/InboundMessage" property.</p>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="in-out-soap-r-r-service" id=
|
|
"in-out-soap-r-r-service"></a>5.10.4.1.2 The Service</h6>
|
|
<p>As the service, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RespondingSOAPNode".</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/InboundMessage" property.</p>
|
|
<p>The WSDL "Out" message maps to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/OutboundMessage" property.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div4">
|
|
<h5><a name="in-out-soap-r" id="in-out-soap-r"></a>5.10.4.2 WSDL
|
|
In-Out to SOAP SOAP-Response</h5>
|
|
<p>This section describes the mapping from the WSDL
|
|
"http://www.w3.org/ns/wsdl/in-out" MEP to the
|
|
"http://www.w3.org/2003/05/soap/mep/soap-response/" SOAP MEP.
|
|
Extensions (such as [<cite><a href="#WSA-Core">WSA 1.0
|
|
Core</a></cite>]) MAY alter these mappings.</p>
|
|
<div class="div5">
|
|
<h6><a name="in-out-soap-r-client" id=
|
|
"in-out-soap-r-client"></a>5.10.4.2.1 The Client</h6>
|
|
<p>As the client, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RequestingSOAPNode".</p>
|
|
<p>The SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/ImmediateDestination" property
|
|
takes the value of the HTTP Request IRI, as defined in <a href=
|
|
"#_http_request_iri_"><strong>6.4.6 HTTP Request IRI</strong></a>,
|
|
and modified as described in section <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a>.</p>
|
|
<p>The value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property for the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> components of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.interfacemessagereferences">interface
|
|
message references</a>} property MUST be either "#element" or
|
|
"#none". When the value is:</p>
|
|
<ul>
|
|
<li>
|
|
<p>"#element", the WSDL "In" message is mapped to the destination
|
|
URI, as per the rules in section <a href=
|
|
"#_http_x-www-form-urlencoded"><strong>6.8.2 Serialization as
|
|
application/x-www-form-urlencoded</strong></a> .</p>
|
|
</li>
|
|
<li>
|
|
<p>"#none", the WSDL "In" message is empty.</p>
|
|
</li>
|
|
</ul>
|
|
<p>The SOAP "http://www.w3.org/2003/05/soap/mep/OutboundMessage"
|
|
property has no value.</p>
|
|
<p>The WSDL "Out" message maps to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/InboundMessage" property.</p>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="in-out-soap-r-service" id=
|
|
"in-out-soap-r-service"></a>5.10.4.2.2 The Service</h6>
|
|
<p>As the service, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RespondingSOAPNode".</p>
|
|
<p>The WSDL "In" message is constructed from the destination URI as
|
|
per the rules in section <a href=
|
|
"#_http_x-www-form-urlencoded"><strong>6.8.2 Serialization as
|
|
application/x-www-form-urlencoded</strong></a> , WHEN the value of
|
|
the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property for the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> components of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.interfacemessagereferences">interface
|
|
message references</a>} property is "#element".</p>
|
|
<p>The WSDL "Out" message maps to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/OutboundMessage" property.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div4">
|
|
<h5><a name="in-only-soap-r-r" id="in-only-soap-r-r"></a>5.10.4.3
|
|
WSDL In-Only to SOAP Request-Response</h5>
|
|
<p>This section describes the mapping from the WSDL
|
|
"http://www.w3.org/ns/wsdl/in-only" MEP to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" MEP.
|
|
Extensions (such as [<cite><a href="#WSA-Core">WSA 1.0
|
|
Core</a></cite>]) MAY alter these mappings.</p>
|
|
<div class="div5">
|
|
<h6><a name="in-only-soap-r-r-client" id=
|
|
"in-only-soap-r-r-client"></a>5.10.4.3.1 The Client</h6>
|
|
<p>As the client, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RequestingSOAPNode".</p>
|
|
<p>The SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/ImmediateDestination" property
|
|
takes the value of the HTTP Request IRI, as defined in <a href=
|
|
"#_http_request_iri_"><strong>6.4.6 HTTP Request IRI</strong></a>,
|
|
and modified as described in section <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a>.</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/OutboundMessage" property.</p>
|
|
<p>The SOAP "http://www.w3.org/2003/05/soap/mep/InboundMessage"
|
|
property has no value.</p>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="in-only-soap-r-r-service" id=
|
|
"in-only-soap-r-r-service"></a>5.10.4.3.2 The Service</h6>
|
|
<p>As the service, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RespondingSOAPNode".</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/InboundMessage" property.</p>
|
|
<p>The SOAP "http://www.w3.org/2003/05/soap/mep/OutboundMessage"
|
|
property has no value.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div4">
|
|
<h5><a name="robust-in-only-soap-r-r" id=
|
|
"robust-in-only-soap-r-r"></a>5.10.4.4 WSDL Robust-In-Only to SOAP
|
|
Request-Response</h5>
|
|
<p>This section describes the mapping from the WSDL
|
|
"http://www.w3.org/ns/wsdl/robust-in-only" MEP to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" MEP.
|
|
Extensions (such as [<cite><a href="#WSA-Core">WSA 1.0
|
|
Core</a></cite>]) MAY alter these mappings.</p>
|
|
<div class="div5">
|
|
<h6><a name="robust-in-only-soap-r-r-client" id=
|
|
"robust-in-only-soap-r-r-client"></a>5.10.4.4.1 The Client</h6>
|
|
<p>As the client, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RequestingSOAPNode".</p>
|
|
<p>The SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/ImmediateDestination" property
|
|
takes the value of the HTTP Request IRI, as defined in <a href=
|
|
"#_http_request_iri_"><strong>6.4.6 HTTP Request IRI</strong></a>,
|
|
and modified as described in section <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a>.</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/OutboundMessage" property.</p>
|
|
<p>The SOAP "http://www.w3.org/2003/05/soap/mep/InboundMessage" can
|
|
contain a SOAP fault.</p>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="robust-in-only-soap-r-r-service" id=
|
|
"robust-in-only-soap-r-r-service"></a>5.10.4.4.2 The Service</h6>
|
|
<p>As the service, the property
|
|
"http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role"
|
|
takes the value "RespondingSOAPNode".</p>
|
|
<p>The WSDL "In" message is mapped to the SOAP
|
|
"http://www.w3.org/2003/05/soap/mep/InboundMessage" property.</p>
|
|
<p>The SOAP "http://www.w3.org/2003/05/soap/mep/OutboundMessage"
|
|
can contain a SOAP fault.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="soap-conformance" id="soap-conformance"></a>5.11
|
|
Conformance</h3>
|
|
<p>An <em>element information item</em> whose namespace name is
|
|
"http://www.w3.org/ns/wsdl" and whose local part is
|
|
<code>description</code> conforms to this binding extension
|
|
specification if the <em>element information item</em>s and
|
|
<em>attribute information item</em>s whose namespace is
|
|
http://www.w3.org/ns/wsdl/soap conform to the XML Schema for that
|
|
element or attribute as defined by this specification and
|
|
additionally adheres to all the constraints contained in this
|
|
specification.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="http-binding" id="http-binding"></a>6. WSDL HTTP
|
|
Binding Extension</h2>
|
|
<p>The HTTP binding extension described in this section is an
|
|
extension for [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>] to enable Web services applications to use
|
|
HTTP 1.1 [<cite><a href="#RFC2616">IETF RFC 2616</a></cite>] (as
|
|
well as other versions of HTTP) and HTTPS [<cite><a href=
|
|
"#RFC2818">IETF RFC 2818</a></cite>]. This binding extension
|
|
extends WSDL 2.0 by adding properties to the component model
|
|
defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]. In addition an XML Infoset representation for
|
|
these additional properties is provided, along with a mapping from
|
|
that representation to the various component properties.</p>
|
|
<p>As allowed in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>], a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component can exist without indicating a specific <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component that it applies to and, in this case, no
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> components can be present in the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
<p>The HTTP binding extension is designed with the objective of
|
|
minimizing what needs to be explicitly declared for common cases.
|
|
This is achieved by defining a set of default rules that affect all
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component to which the HTTP binding extension is
|
|
applied, unless specifically overridden by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. Thus, if a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component is not referred to specifically
|
|
by a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, then all the default rules apply
|
|
to that <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component. As a result, in accordance with
|
|
the requirements of [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>], all operations of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component will be bound by this binding
|
|
extension.</p>
|
|
<p><strong>Note:</strong> As in other parts of this specification,
|
|
one could have done away with "default" properties at the component
|
|
model level, and have set the value for the corresponding
|
|
non-default properties in the XML mapping section. However, default
|
|
properties are required for interface-less binding. Indeed, an
|
|
interface-less binding has no means to set the non-default version
|
|
of the property at the operation-level, since there is precisely no
|
|
operation (there is not even an interface). Hence the mapping needs
|
|
to be done elsewhere.</p>
|
|
<p>[<a name="instance_data" id="instance_data" title=
|
|
"instance data">Definition</a>: The internal tree representation of
|
|
an input, output or fault message is called an <strong>instance
|
|
data</strong>, and is constrained by the schema definition
|
|
associated with the message: the XML element referenced in the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component for input and output
|
|
messages (unless the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} is "#any"), and in the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceFault.elementdeclaration">element
|
|
declaration</a>} property of an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component for faults.]</p>
|
|
<div class="div2">
|
|
<h3><a name="http-binding-id" id="http-binding-id"></a>6.1
|
|
Identifying the use of the HTTP Binding</h3>
|
|
<p>A <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component (defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]) is identified as an HTTP binding by assigning
|
|
the value "http://www.w3.org/ns/wsdl/http" to the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Binding.type">type</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-syntax" id="http-syntax"></a>6.2 HTTP Syntax
|
|
Summary (Non-Normative)</h3>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"?
|
|
type="<em>http://www.w3.org/ns/wsdl/http</em>"
|
|
<strong>whttp:methodDefault</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:queryParameterSeparatorDefault</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:cookies</strong>="<em>xs:boolean</em>"?
|
|
<strong>whttp:contentEncodingDefault</strong>="<em>xs:string</em>"? >
|
|
<documentation />?
|
|
|
|
<fault ref="<em>xs:QName</em>"
|
|
<strong>whttp:code</strong>="<em>union of xs:int, xs:token</em>"?
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? >
|
|
<documentation />*
|
|
<<strong>whttp:header</strong> name="<em>xs:string</em>" type="<em>xs:QName</em>"
|
|
required="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
</<strong>whttp:header</strong>>*
|
|
</fault>*
|
|
|
|
<operation ref="<em>xs:QName</em>"
|
|
<strong>whttp:location</strong>="<em>xs:anyURI</em>"?
|
|
<strong>whttp:method</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:inputSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:outputSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:faultSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:queryParameterSeparator</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:contentEncodingDefault</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:ignoreUncited</strong>="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
|
|
<input messageLabel="<em>xs:NCName</em>"?
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? >
|
|
<documentation />*
|
|
<<strong>whttp:header</strong> ... />*
|
|
</input>*
|
|
|
|
<output messageLabel="<em>xs:NCName</em>"?
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? >
|
|
<documentation />*
|
|
<<strong>whttp:header</strong> ... />*
|
|
</output>*
|
|
|
|
<infault ref="<em>xs:QName</em>"
|
|
messageLabel="<em>xs:NCName</em>"? >
|
|
<documentation />*
|
|
</infault>*
|
|
|
|
<outfault ref="<em>xs:QName</em>"
|
|
messageLabel="<em>xs:NCName</em>"? >
|
|
<documentation />*
|
|
</outfault>*
|
|
|
|
</operation>*
|
|
|
|
</binding>
|
|
|
|
<service>
|
|
<endpoint name="<em>xs:NCName</em>" binding="<em>xs:QName</em>" address="<em>xs:anyURI</em>"?
|
|
<strong>whttp:authenticationScheme</strong>="<em>xs:token</em>"?
|
|
<strong>whttp:authenticationRealm</strong>="<em>xs:string</em>"? >
|
|
<documentation />*
|
|
</endpoint>
|
|
</service>
|
|
</description>
|
|
</pre></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-binding-supported-extensions" id=
|
|
"http-binding-supported-extensions"></a>6.3 Supported
|
|
Extensions</h3>
|
|
<p>An implementation of the HTTP binding extension MUST support the
|
|
following extensions:</p>
|
|
<ul>
|
|
<li>
|
|
<p>"http://www.w3.org/ns/wsdl-extensions/safe" (see <a href=
|
|
"#safety"><strong>3.1 Operation safety</strong></a>)</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="_http_binding_default_rules" id=
|
|
"_http_binding_default_rules"></a>6.4 HTTP Binding Rules</h3>
|
|
<div class="div3">
|
|
<h4><a name="_http_binding_default_rule_method" id=
|
|
"_http_binding_default_rule_method"></a>6.4.1 HTTP Method
|
|
Selection</h4>
|
|
<p><span id="HTTPBinding-2083" class="test-assertion-tr">When
|
|
formulating the HTTP message to be transmitted, the HTTP request
|
|
method used MUST be selected using one of the
|
|
following:<sup><a href="#HTTPBinding-2083-summary" title=
|
|
"Link to assertion HTTPBinding-2083 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>For a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component, if there is a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-BindingOperation.interfaceoperation">interface
|
|
operation</a>} property matches the component in question and its
|
|
{<a href="#property-BindingOperation.httpmethod">http method</a>}
|
|
property has a value, then the value of the {<a href=
|
|
"#property-BindingOperation.httpmethod">http method</a>}
|
|
property.</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, the value of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component's {<a href="#property-Binding.httpmethoddefault">http
|
|
method default</a>}, if any.</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, if a {<a href=
|
|
"#property-InterfaceOperation.safe">safe</a>} property as defined
|
|
in <a href="#safety"><strong>3.1 Operation safety</strong></a> is
|
|
present on the bound <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component and has a value of "true", the
|
|
value "GET".</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, the value "POST".</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_binding_default_rule_coding" id=
|
|
"_http_binding_default_rule_coding"></a>6.4.2 HTTP Content Encoding
|
|
Selection</h4>
|
|
<p><span id="HTTPBinding-2084" class="test-assertion-tr">When
|
|
formulating the HTTP message to be transmitted, content encoding
|
|
for a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component is determined as
|
|
follows:<sup><a href="#HTTPBinding-2084-summary" title=
|
|
"Link to assertion HTTPBinding-2084 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>If the {<a href=
|
|
"#property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>} property has a non-empty value, a
|
|
<code>Content-Encoding</code> header-field MUST be inserted with
|
|
the value of this property.</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, if the value of the parent <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component's {<a href=
|
|
"#property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>} property has a non-empty value, a
|
|
<code>Content-Encoding</code> header-field MUST be inserted with
|
|
the value of this property.</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, if the value of the grandparent <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component's {<a href=
|
|
"#property-Binding.httpcontentencodingdefault">http content
|
|
encoding default</a>} property has a non-empty value, a
|
|
<code>Content-Encoding</code> header-field MUST be inserted with
|
|
the value of this property.</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPBinding-2085" class="test-assertion-tr">When
|
|
formulating the HTTP fault message to be transmitted, content
|
|
encoding for a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component is determined as follows:<sup><a href=
|
|
"#HTTPBinding-2085-summary" title=
|
|
"Link to assertion HTTPBinding-2085 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>If the {<a href=
|
|
"#property-BindingFault.httpcontentencoding">http content
|
|
encoding</a>} property has a non-empty value, then a
|
|
<code>Content-Encoding</code> header-field MUST be inserted with
|
|
the value of this property.</p>
|
|
</li>
|
|
<li>
|
|
<p>If the {<a href=
|
|
"#property-Binding.httpcontentencodingdefault">http content
|
|
encoding default</a>} property has a non-empty value, then a
|
|
<code>Content-Encoding</code> header-field MUST be inserted with
|
|
the value of this property.</p>
|
|
</li>
|
|
</ul>
|
|
<p>The body of the response message is encoded using the specified
|
|
content encoding.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_binding_default_rule_psf" id=
|
|
"_http_binding_default_rule_psf"></a>6.4.3 Payload Construction And
|
|
Serialization Format</h4>
|
|
<p><span id="HTTPBinding-2086" class="test-assertion-tr">When
|
|
formulating the HTTP message to be transmitted, the contents of the
|
|
payload (i.e. the contents of the HTTP message body) MUST be what
|
|
is defined by the corresponding <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> components, serialized as specified by the
|
|
<a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> used.<sup><a href=
|
|
"#HTTPBinding-2086-summary" title=
|
|
"Link to assertion HTTPBinding-2086 summary">†</a></sup></span></p>
|
|
<p>[<a name="serialization_format" id="serialization_format" title=
|
|
"serialization format">Definition</a>: The <strong>serialization
|
|
format</strong> is a media type token ("type/subtype"). It
|
|
identifies rules to serialize the payload in an HTTP message. Its
|
|
value is defined by the following rules. The HTTP request
|
|
serialization format MUST be in the media type range specified by
|
|
the {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>} property. The HTTP response serialization format
|
|
MUST be in the media type range specified by the {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} property. The HTTP serialization format of a
|
|
fault MUST be in the media type range specified by the {<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>} property. The concept of media type range is
|
|
defined in Section 14.1 of [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>]. The serialization format MAY have
|
|
<strong>associated media type parameters</strong> (specified with
|
|
the <code>parameter</code> production of <code>media-range</code>
|
|
in Section 14.1 of [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>]. ]</p>
|
|
<p>Section <a href="#_http_serialization"><strong>6.8 Serialization
|
|
Format of Instance Data</strong></a> defines serialization formats
|
|
supported by this binding extension along with their
|
|
constraints.</p>
|
|
<ul>
|
|
<li>
|
|
<p><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component:</p>
|
|
<ul>
|
|
<li>
|
|
<p>If the value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> bound is "#any" or "#element", the
|
|
serialization of the instance data is specified as defined in
|
|
section <a href="#_http_ser_xml"><strong>6.4.3.1 Serialization
|
|
rules for XML messages</strong></a>.</p>
|
|
</li>
|
|
<li>
|
|
<p><span id="HTTPBinding-2087" class="test-assertion-tr">If the
|
|
value is "#none", then the payload MUST be empty and the value of
|
|
the corresponding serialization property ({<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>} or {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}) is ignored.<sup><a href=
|
|
"#HTTPBinding-2087-summary" title=
|
|
"Link to assertion HTTPBinding-2087 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p>If the value is "#other", then the <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> and its associated media type parameters, if any,
|
|
specifies the value of the HTTP <code>Content-Type</code>
|
|
entity-header field as defined in section 14.17 of [<cite><a href=
|
|
"#RFC2616">IETF RFC 2616</a></cite>]. The serialization of the
|
|
payload is undefined.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component: the serialization of the instance
|
|
data is specified as defined in section <a href=
|
|
"#_http_ser_xml"><strong>6.4.3.1 Serialization rules for XML
|
|
messages</strong></a>.</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPBinding-2088" class="test-assertion-tr">If the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component or the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component is declared using a non-XML type
|
|
system (as considered in the Types section of [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]), then additional
|
|
binding rules MUST be defined in an extension specification to
|
|
indicate how to map those components into the HTTP
|
|
envelope.<sup><a href="#HTTPBinding-2088-summary" title=
|
|
"Link to assertion HTTPBinding-2088 summary">†</a></sup></span></p>
|
|
<div class="div4">
|
|
<h5><a name="_http_ser_xml" id="_http_ser_xml"></a>6.4.3.1
|
|
Serialization rules for XML messages</h5>
|
|
<p><span id="HTTPBinding-2089" class="test-assertion-tr">The
|
|
serialization rules for messages whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} is either "#element" or "#any", AND the
|
|
serialization rules for fault messages, are as
|
|
follows:<sup><a href="#HTTPBinding-2089-summary" title=
|
|
"Link to assertion HTTPBinding-2089 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>If the <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> is
|
|
"application/x-www-form-urlencoded", then the serialization of the
|
|
<a title="instance data" href="#instance_data">instance data</a> is
|
|
defined by section <a href=
|
|
"#_http_x-www-form-urlencoded"><strong>6.8.2 Serialization as
|
|
application/x-www-form-urlencoded</strong></a> .</p>
|
|
</li>
|
|
<li>
|
|
<p>If the <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> is
|
|
"multipart/form-data", then the serialization of the <a title=
|
|
"instance data" href="#instance_data">instance data</a> is defined
|
|
by section <a href=
|
|
"#_http_operation_multipart_encoding"><strong>6.8.4 Serialization
|
|
as multipart/form-data</strong></a> .</p>
|
|
</li>
|
|
<li>
|
|
<p>If the <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> is
|
|
"application/xml", then the serialization of the <a title=
|
|
"instance data" href="#instance_data">instance data</a> is defined
|
|
by section <a href="#_http_operation_xml_encoding"><strong>6.8.3
|
|
Serialization as application/xml</strong></a> .</p>
|
|
</li>
|
|
<li>
|
|
<p>Otherwise, then the serialization of the <a title=
|
|
"instance data" href="#instance_data">instance data</a> is defined
|
|
by section <a href="#_http_operation_xml_encoding"><strong>6.8.3
|
|
Serialization as application/xml</strong></a> with the following
|
|
additional rule: the value of the HTTP <code>Content-Type</code>
|
|
entity-header field is the value of the <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> and its associated media type parameters, if any.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_binding_default_rule_dsf" id=
|
|
"_http_binding_default_rule_dsf"></a>6.4.4 Default input and output
|
|
serialization format</h4>
|
|
<p>Section <a href="#method_value">Table 6-1</a> defines the
|
|
default values for the GET, POST, PUT and DELETE values of the HTTP
|
|
method as selected in section <a href=
|
|
"#_http_binding_default_rule_method"><strong>6.4.1 HTTP Method
|
|
Selection</strong></a>.</p>
|
|
<a name="method_value" id="method_value"></a>
|
|
<table border="1" summary=
|
|
"The first column contains the value of the {http method} property. The second column contains the corresponding default {http input serialization}, and the third column the corresponding default {http output serialization}.">
|
|
<caption>Table 6-1. Default values for GET, POST, PUT and
|
|
DELETE</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">HTTP Method</th>
|
|
<th rowspan="1" colspan="1">Default Input Serialization</th>
|
|
<th rowspan="1" colspan="1">Default Output Serialization</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Selected in <a href=
|
|
"#_http_binding_default_rule_method"><strong>6.4.1 HTTP Method
|
|
Selection</strong></a></th>
|
|
<th rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}</th>
|
|
<th rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">GET</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>application/x-www-form-urlencoded</code></td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">POST</td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">PUT</td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">DELETE</td>
|
|
<td rowspan="1" colspan="1">
|
|
<code>application/x-www-form-urlencoded</code></td>
|
|
<td rowspan="1" colspan="1"><code>application/xml</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<div class="note">
|
|
<p class="prefix"><strong>Note:</strong></p>
|
|
<p>The <code>application/x-www-form-urlencoded</code> serialization
|
|
format places constraints on the XML Schema definition of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> components of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component bound (see <a href=
|
|
"#_http_x-www-form-urlencoded"><strong>6.8.2 Serialization as
|
|
application/x-www-form-urlencoded</strong></a> ).</p>
|
|
</div>
|
|
<p>The default value for the {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>} and {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} properties for any other HTTP method selected is
|
|
<code>application/xml</code>.</p>
|
|
<p>Mechanisms other than setting the serialization properties MAY
|
|
modify the serialization format of the <a title="instance data"
|
|
href="#instance_data">instance data</a> corresponding to the
|
|
message. An example of such modification is the WSDL SOAP Binding
|
|
HTTP IRI Serialization rules specified in <a href=
|
|
"#soap-defaults"><strong>5.3 SOAP Binding Rules</strong></a>. This
|
|
binding extension specifies that the <a href=
|
|
"http://www.w3.org/TR/2007/REC-soap12-part2-20070427/#soapresmep">SOAP-Response
|
|
Message Exchange Pattern</a> ([<cite><a href="#SOAP12-PART2">SOAP
|
|
1.2 Part 2: Adjuncts (Second Edition)</a></cite>], Section 6.3)
|
|
supports input message serialization only as
|
|
<code>application/x-www-form-urlencoded</code>. Other examples are
|
|
other message exchange patterns or binding extensions.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_default_rule_head" id=
|
|
"_http_default_rule_head"></a>6.4.5 HTTP Header Construction</h4>
|
|
<p><span id="HTTPHeader-2090" class="test-assertion-tr">If the
|
|
{<a href="#property-BindingMessageReference.httpheaders">http
|
|
headers</a>} property as defined in section <a href=
|
|
"#http-headers-decl"><strong>6.6 Declaring HTTP
|
|
Headers</strong></a> exists and is not empty in a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component, HTTP headers conforming to each
|
|
<a href="#component-HTTPHeader">HTTP Header</a> component contained
|
|
in this {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property MAY be serialized as follows:<sup><a href=
|
|
"#HTTPHeader-2090-summary" title=
|
|
"Link to assertion HTTPHeader-2090 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p>The HTTP header field name used is the value of the {<a href=
|
|
"#property-HTTPHeader.name">name</a>} property of the <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> component. <span id=
|
|
"HTTPHeader-2091" class="test-assertion-tr">The HTTP binding MUST
|
|
NOT set an HTTP header field corresponding to the value of the
|
|
{<a href="#property-HTTPHeader.name">name</a>} property already set
|
|
by another mechanism, such as the HTTP stack or another
|
|
feature.<sup><a href="#HTTPHeader-2091-summary" title=
|
|
"Link to assertion HTTPHeader-2091 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p>The HTTP header field value, whose XML Schema type is declared
|
|
by the {<a href="#property-HTTPHeader.typedefinition">type
|
|
definition</a>} property of the <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> component, is serialized
|
|
following the rules of the <code>field-value</code> production of
|
|
section 4.2 of [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>].</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPHeader-2092" class="test-assertion-tr">If the
|
|
value of an <a href="#component-HTTPHeader">HTTP Header</a>
|
|
component's {<a href="#property-HTTPHeader.required">required</a>}
|
|
property is "true", the inclusion of this HTTP header field is
|
|
REQUIRED<sup><a href="#HTTPHeader-2092-summary" title=
|
|
"Link to assertion HTTPHeader-2092 summary">†</a></sup></span>,
|
|
otherwise it is OPTIONAL.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_request_iri_" id="_http_request_iri_"></a>6.4.6
|
|
HTTP Request IRI</h4>
|
|
<p><span id="HTTPBindingOperation-2093" class=
|
|
"test-assertion-tr">When formulating the HTTP Request, the HTTP
|
|
Request IRI is an absolute IRI reference and is the value of the
|
|
{<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, resolved using the value of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Endpoint.address">address</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component (see section 5 of [<cite><a href="#RFC3986">IETF RFC
|
|
3986</a></cite>]).<sup><a href="#HTTPBindingOperation-2093-summary"
|
|
title=
|
|
"Link to assertion HTTPBindingOperation-2093 summary">†</a></sup></span>
|
|
If the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property is not set, the HTTP Request IRI is the
|
|
value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Endpoint.address">address</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component. Input serializations may define additional processing
|
|
rules to be applied to the value of {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>} before
|
|
applying the process of reference resolution, i.e. before combining
|
|
it with the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Endpoint.address">address</a>}
|
|
property of the endpoint element to form the HTTP Request IRI. For
|
|
example, the three serialization formats defined in section
|
|
<a href="#_http_serialization"><strong>6.8 Serialization Format of
|
|
Instance Data</strong></a> define a syntax to use the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>} as a
|
|
template using elements of the instance data.</p>
|
|
<p>If the resulting IRI uses the <code>https</code> scheme, then
|
|
HTTP over TLS [<cite><a href="#RFC2818">IETF RFC 2818</a></cite>]
|
|
is used to send the HTTP request.</p>
|
|
<p>The HTTP Request IRI identifies the resource upon which to apply
|
|
the request and is transmitted using the Request-URI, and
|
|
optionally the Host header field, as defined in [<cite><a href=
|
|
"#RFC2616">IETF RFC 2616</a></cite>].</p>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-operation-decl" id="http-operation-decl"></a>6.5
|
|
Binding Operations</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-operation-decl-dest" id=
|
|
"http-operation-decl-dest"></a>6.5.1 Description</h4>
|
|
<p>This binding extension specification provides a binding to HTTP
|
|
of <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property has a value amongst:</p>
|
|
<ul>
|
|
<li>
|
|
<p>"http://www.w3.org/ns/wsdl/in-only"</p>
|
|
</li>
|
|
<li>
|
|
<p>"http://www.w3.org/ns/wsdl/robust-in-only"</p>
|
|
</li>
|
|
<li>
|
|
<p>"http://www.w3.org/ns/wsdl/in-out"</p>
|
|
</li>
|
|
</ul>
|
|
<p>This HTTP binding extension MAY be used with other message
|
|
exchange patterns, such as outbound message exchange patterns,
|
|
provided that additional semantics are defined, for example through
|
|
an extension.</p>
|
|
<p>Each of the three supported message exchange patterns above
|
|
involves one or two messages or faults being exchanged. <span id=
|
|
"HTTPBindingOperation-2094" class="test-assertion-tr">The first one
|
|
is transmitted using an HTTP request, and the second one is
|
|
transmitted using the corresponding HTTP response.<sup><a href=
|
|
"#HTTPBindingOperation-2094-summary" title=
|
|
"Link to assertion HTTPBindingOperation-2094 summary">†</a></sup></span>
|
|
<span id="HTTPBindingOperation-2095" class="test-assertion-tr">In
|
|
cases where only one single message is being sent, the message body
|
|
of the HTTP response MUST be empty.<sup><a href=
|
|
"#HTTPBindingOperation-2095-summary" title=
|
|
"Link to assertion HTTPBindingOperation-2095 summary">†</a></sup></span></p>
|
|
<p>For successful responses, the HTTP response code MUST be:</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="InterfaceOperation-2096" class="test-assertion-tr">202
|
|
when the MEP is "http://www.w3.org/ns/wsdl/in-only"<sup><a href=
|
|
"#InterfaceOperation-2096-summary" title=
|
|
"Link to assertion InterfaceOperation-2096 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="InterfaceOperation-2097" class="test-assertion-tr">204
|
|
when the MEP is
|
|
"http://www.w3.org/ns/wsdl/robust-in-only"<sup><a href=
|
|
"#InterfaceOperation-2097-summary" title=
|
|
"Link to assertion InterfaceOperation-2097 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
<p>For every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component corresponding to such <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components, this binding extension
|
|
specification allows the user to indicate the HTTP method to use,
|
|
the input, output and fault serialization, and the location of the
|
|
bound operation.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-operation-decl-relate" id=
|
|
"http-operation-decl-relate"></a>6.5.2 Relationship to WSDL
|
|
Component Model</h4>
|
|
<p>The HTTP binding extension adds the following properties to the
|
|
WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httplocation" id=
|
|
"property-BindingOperation.httplocation">http location</a>}
|
|
OPTIONAL. An <em>xs:anyURI</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. <span id=
|
|
"HTTPBindingOperation-2098" class="test-assertion-tr">It MUST
|
|
contain an IRI reference and MUST NOT include a fragment identifier
|
|
component.<sup><a href="#HTTPBindingOperation-2098-summary" title=
|
|
"Link to assertion HTTPBindingOperation-2098 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-Binding.httpmethoddefault" id=
|
|
"property-Binding.httpmethoddefault">http method default</a>}
|
|
OPTIONAL. A <em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component, indicating the default value for the HTTP Request Method
|
|
for all the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components of any <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component to which this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
is applied.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpmethod" id=
|
|
"property-BindingOperation.httpmethod">http method</a>} OPTIONAL. A
|
|
<em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, indicating the value for the HTTP
|
|
Request Method for this specific <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpinputserialization" id=
|
|
"property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>} REQUIRED. A <em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, indicating allowed serialization
|
|
rules of the HTTP Request message for this specific operation, as
|
|
described in section <a href="#_http_ser_val"><strong>6.5.3
|
|
Specification of serialization rules allowed</strong></a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpoutputserialization" id=
|
|
"property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} REQUIRED. A <em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, indicating allowed serialization
|
|
rules of the HTTP Response message for this specific operation, as
|
|
described in section <a href="#_http_ser_val"><strong>6.5.3
|
|
Specification of serialization rules allowed</strong></a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpfaultserialization" id=
|
|
"property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>} REQUIRED. A <em>xs:string</em>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, indicating allowed serialization
|
|
rules of the HTTP Response message for this specific operation in
|
|
case a fault is returned, as described in section <a href=
|
|
"#_http_ser_val"><strong>6.5.3 Specification of serialization rules
|
|
allowed</strong></a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-Binding.httpqueryparameterseparatordefault"
|
|
id="property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} REQUIRED. A <em>xs:string</em>, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component, indicating the default query parameter separator
|
|
character for all the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components of any <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component to which this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
is applied to.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpqueryparameterseparator"
|
|
id="property-BindingOperation.httpqueryparameterseparator">http
|
|
query parameter separator</a>} OPTIONAL. A <em>xs:string</em>, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, indicating the query parameter
|
|
separator character for this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a>.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_ser_val" id="_http_ser_val"></a>6.5.3
|
|
Specification of serialization rules allowed</h4>
|
|
<p><span id="HTTPSerialization-2099" class="test-assertion-tr">The
|
|
value of the {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} and {<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>} properties is similar to the value allowed for
|
|
the <code>Accept</code> HTTP header defined by the HTTP 1.1
|
|
specification, Section 14.1 (see [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>]) and MUST follow the production rules defined in
|
|
that section except for the following:<sup><a href=
|
|
"#HTTPSerialization-2099-summary" title=
|
|
"Link to assertion HTTPSerialization-2099 summary">†</a></sup></span></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>The prefix <code>"Accept:"</code> MUST NOT be used.</p>
|
|
</li>
|
|
<li>
|
|
<p>The rule <code>qdtext</code> is changed from:</p>
|
|
<p><code>qdtext = <any TEXT except<">></code></p>
|
|
<p>to:</p>
|
|
<p><code>qdtext = <any CHAR except<">></code></p>
|
|
<p>This change is made to disallow non-US-ASCII OCTETs.</p>
|
|
</li>
|
|
</ol>
|
|
<p>These properties indicate the range of media types and
|
|
associated parameters with which an instance MAY be serialized.
|
|
<span id="HTTPBindingOperation-2100" class="test-assertion-tr">The
|
|
value of the <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> used for a message
|
|
is a media type which MUST be covered by this range.<sup><a href=
|
|
"#HTTPBindingOperation-2100-summary" title=
|
|
"Link to assertion HTTPBindingOperation-2100 summary">†</a></sup></span> 
|
|
<span id="HTTPBindingOperation-2101" class="test-assertion-tr">Wild
|
|
cards (for example, "application/*") SHOULD NOT be used in this
|
|
<em>attribute information item</em> since they may lead to
|
|
interoperability problems.<sup><a href=
|
|
"#HTTPBindingOperation-2101-summary" title=
|
|
"Link to assertion HTTPBindingOperation-2101 summary">†</a></sup></span></p>
|
|
<p>The use of {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} and {<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>} is specified in section <a href=
|
|
"#_http_binding_default_rule_psf"><strong>6.4.3 Payload
|
|
Construction And Serialization Format</strong></a>.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-operation-decl-xml" id=
|
|
"http-operation-decl-xml"></a>6.5.4 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding <strong>whttp:methodDefault</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:queryParameterSeparatorDefault</strong>="<em>xs:string</em>"? >
|
|
<operation ref="<em>xs:QName</em>"
|
|
<strong>whttp:location</strong>="<em>xs:anyURI</em>"?
|
|
<strong>whttp:method</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:inputSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:outputSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:faultSerialization</strong>="<em>xs:string</em>"?
|
|
<strong>whttp:queryParameterSeparator</strong>="<em>xs:string</em>"? >
|
|
</operation>
|
|
</binding>
|
|
</description>
|
|
|
|
</pre></div>
|
|
<p>The XML representation for binding an Operation are six
|
|
<em>attribute information item</em>s with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>An OPTIONAL <code>location</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>location</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:anyURI</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>method</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>method</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>inputSerialization</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>inputSerialization</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>outputSerialization</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>outputSerialization</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>faultSerialization</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>faultSerialization</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>queryParameterSeparator</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>queryParameterSeparator</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em> whose pattern facet is
|
|
"[&;a-zA-Z0-9\-\._~!$'\(\):@/\?\*\+,]{1,1}",
|
|
<code>"&"</code> and <code>";"</code> being the most frequently
|
|
used characters in practice.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>The following <em>attribute information item</em>s for the
|
|
<code>binding</code> <em>element information item</em> are
|
|
defined:</p>
|
|
<ul>
|
|
<li>
|
|
<p>An OPTIONAL <code>methodDefault</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>methodDefault</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>queryParameterSeparatorDefault</code>
|
|
<em>attribute information item</em> with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of
|
|
<code>queryParameterSeparatorDefault</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em> whose length facet value is
|
|
<em>"1"</em>. The allowed characters are the same as for the
|
|
{<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>} property above.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-operation-decl-mapping" id=
|
|
"http-operation-decl-mapping"></a>6.5.5 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Operation_Mapping">Table 6-2</a>.</p>
|
|
<a name="tab_HTTP_Operation_Mapping" id=
|
|
"tab_HTTP_Operation_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-2. Mapping from XML Representation to Binding
|
|
Operation component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:location</code> <em>attribute information item</em>, if
|
|
present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.httpmethoddefault">http method default</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:methodDefault</code> <em>attribute information
|
|
item</em>, if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpmethod">http method</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:method</code> <em>attribute information item</em>, if
|
|
present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:inputSerialization</code> <em>attribute information
|
|
item</em>, if present; otherwise, the default value as defined in
|
|
<a href="#_http_binding_default_rules"><strong>6.4 HTTP Binding
|
|
Rules</strong></a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:outputSerialization</code> <em>attribute information
|
|
item</em>, if present; otherwise, the default value as defined in
|
|
<a href="#_http_binding_default_rules"><strong>6.4 HTTP Binding
|
|
Rules</strong></a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:faultSerialization</code> <em>attribute information
|
|
item</em>, if present; otherwise "application/xml".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:queryParameterSeparatorDefault</code> <em>attribute
|
|
information item</em>, if present; otherwise, "&".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:queryParameterSeparator</code> <em>attribute
|
|
information item</em>, if present.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-headers-decl" id="http-headers-decl"></a>6.6
|
|
Declaring HTTP Headers</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-headers-decl-description" id=
|
|
"http-headers-decl-description"></a>6.6.1 Description</h4>
|
|
<p>HTTP allows the use of headers in messages. This binding
|
|
extension allows users to declare the HTTP headers in use on a per
|
|
message and on a per-fault basis.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-headers-decl-relate" id=
|
|
"http-headers-decl-relate"></a>6.6.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The HTTP Header binding extension specification adds the
|
|
following property to the WSDL component model (as defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingMessageReference.httpheaders" id=
|
|
"property-BindingMessageReference.httpheaders">http headers</a>}
|
|
OPTIONAL. A set of <a href="#component-HTTPHeader">HTTP Header</a>
|
|
components as defined in <a href=
|
|
"#http-header-decl-property"><strong>6.6.3 HTTP Header
|
|
component</strong></a>, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component.</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingFault.httpheaders" id=
|
|
"property-BindingFault.httpheaders">http headers</a>} OPTIONAL, to
|
|
the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component.</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPHeader-2102" class="test-assertion-tr">A <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> or a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component's {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property MUST NOT contain multiple <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> components with the same
|
|
{<a href="#property-HTTPHeader.name">name</a>}
|
|
property.<sup><a href="#HTTPHeader-2102-summary" title=
|
|
"Link to assertion HTTPHeader-2102 summary">†</a></sup></span></p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-header-decl-property" id=
|
|
"http-header-decl-property"></a>6.6.3 HTTP Header component</h4>
|
|
<p>An <a href="#component-HTTPHeader">HTTP Header</a> component
|
|
describes an abstract piece of header data (HTTP header field) that
|
|
is associated with the exchange of messages between the
|
|
communicating parties. The presence of a <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> component in a WSDL
|
|
description indicates that the service support headers, and MAY
|
|
require a client interacting with the service to use the described
|
|
header field. Zero or one such header field may be used.</p>
|
|
<p>The properties of the <a name="component-HTTPHeader" id=
|
|
"component-HTTPHeader">HTTP Header</a> component are as
|
|
follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-HTTPHeader.name" id=
|
|
"property-HTTPHeader.name">name</a>} REQUIRED. An
|
|
<em>xs:string</em> whose pattern facet is
|
|
<em>"[!#-'*+\-.0-9A-Z^-z|~]+"</em>, the name of the HTTP header
|
|
field. The value of this property follows the
|
|
<code>field-name</code> production rules as specified in section
|
|
4.2 of [<cite><a href="#RFC2616">IETF RFC 2616</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-HTTPHeader.typedefinition" id=
|
|
"property-HTTPHeader.typedefinition">type definition</a>} REQUIRED.
|
|
A <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-TypeDefinition">
|
|
Type Definition</a> component, in the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.typedefinitions">type
|
|
definitions</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Description">
|
|
Description</a> component, constraining the value of the HTTP
|
|
header field. <span id="HTTPHeader-2103" class=
|
|
"test-assertion-tr">This type MUST be a simple type.<sup><a href=
|
|
"#HTTPHeader-2103-summary" title=
|
|
"Link to assertion HTTPHeader-2103 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-HTTPHeader.required" id=
|
|
"property-HTTPHeader.required">required</a>} REQUIRED. An
|
|
<em>xs:boolean</em> indicating if the HTTP header field is
|
|
required. <span id="HTTPHeader-2104" class="test-assertion-tr">If
|
|
the value is "true", then the HTTP header field MUST be included in
|
|
the message.<sup><a href="#HTTPHeader-2104-summary" title=
|
|
"Link to assertion HTTPHeader-2104 summary">†</a></sup></span> If
|
|
it is "false", then the HTTP header field MAY be included.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-HTTPHeader.parent" id=
|
|
"property-HTTPHeader.parent">parent</a>} REQUIRED. The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component that contains this
|
|
component in its {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-headers-decl-xml" id=
|
|
"http-headers-decl-xml"></a>6.6.4 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" type="<em>http://www.w3.org/ns/wsdl/http</em>" >
|
|
<fault ref="<em>xs:QName</em>">
|
|
<<strong>whttp:header</strong> name="<em>xs:string</em>" type="<em>xs:QName</em>"
|
|
required="<em>xs:boolean</em>"? >
|
|
<documentation />*
|
|
</<strong>whttp:header</strong>>*
|
|
...
|
|
</fault>*
|
|
<operation ref="<em>xs:QName</em>" >
|
|
<input messageLabel="<em>xs:NCName</em>"?>
|
|
<<strong>whttp:header</strong> ... />*
|
|
...
|
|
</input>*
|
|
<output messageLabel="<em>xs:NCName</em>"?>
|
|
<<strong>whttp:header</strong> ... />*
|
|
...
|
|
</output>*
|
|
</operation>*
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for a <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> component is an <em>element
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>header</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>One or more <em>attribute information item</em>s amongst its
|
|
[attributes] as follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A REQUIRED <code>name</code> <em>attribute information item</em>
|
|
with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>name</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em> whose pattern facet is
|
|
<em>"[!#-'*+\-.0-9A-Z^-z|~]+"</em>.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>A REQUIRED <code>type</code> <em>attribute information item</em>
|
|
with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>type</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:QName</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>required</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>required</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] which has no value</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace qualified <em>attribute information
|
|
item</em>s. The [namespace name] of such <em>attribute information
|
|
item</em>s MUST NOT be "http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/http".</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more <em>element information item</em> amongst its
|
|
[children], in order, as follows:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p>Zero or more <code>documentation</code> <em>element information
|
|
item</em>s as defined in [<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>Zero or more namespace-qualified <em>element information
|
|
item</em>s amongst its [children]. The [namespace name] of such
|
|
<em>element information item</em>s MUST NOT be
|
|
"http://www.w3.org/ns/wsdl" and MUST NOT be
|
|
"http://www.w3.org/ns/wsdl/http".</p>
|
|
</li>
|
|
</ol>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-headers-decl-mapping" id=
|
|
"http-headers-decl-mapping"></a>6.6.5 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Header_Mapping">Table 6-3</a>.</p>
|
|
<a name="tab_HTTP_Header_Mapping" id="tab_HTTP_Header_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-3. Mapping from XML Representation to HTTP Header
|
|
component-related Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingMessageReference.httpheaders">http
|
|
headers</a>}</td>
|
|
<td rowspan="1" colspan="1">The set of <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> components corresponding to
|
|
all the <code>header</code> <em>element information item</em> in
|
|
the [children] of the <code>fault</code>, <code>input</code> or
|
|
<code>output</code> <em>element information item</em>, if any.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-HTTPHeader.name">name</a>}</td>
|
|
<td rowspan="1" colspan="1">The value of the <code>name</code>
|
|
<em>attribute information item</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-HTTPHeader.typedefinition">type definition</a>}</td>
|
|
<td rowspan="1" colspan="1">The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-TypeDefinition">
|
|
Type Definition</a> component from the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.typedefinitions">type
|
|
definitions</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Description">
|
|
Description</a> component resolved to by the value of the
|
|
<code>type</code> <em>attribute information item</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-HTTPHeader.required">required</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>required</code> <em>attribute information item</em>, if
|
|
present; otherwise "false".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-HTTPHeader.parent">parent</a>}</td>
|
|
<td rowspan="1" colspan="1">The <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component corresponding to the
|
|
<code>fault</code>, <code>input</code> or <code>output</code>
|
|
<em>element information item</em> in [parent].</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
<div class="div3">
|
|
<h4><a name="http-headers-decl-fragid" id=
|
|
"http-headers-decl-fragid"></a>6.6.6 IRI Identification Of An HTTP
|
|
Header component</h4>
|
|
<p>WSDL Version 2.0 Part 1: Core Language [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>] defines a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">fragment
|
|
identifier syntax</a> for identifying components of a WSDL 2.0
|
|
document.</p>
|
|
<p>An <a href="#component-HTTPHeader">HTTP Header</a> component can
|
|
be identified using the <em><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#wsdl.extension">wsdl.extension</a></em>
|
|
XPointer Framework scheme:</p>
|
|
<p><code>wsdl.extension(http://www.w3.org/ns/wsdl/http,
|
|
whttp.header(<em>parent</em>/<em>name</em>))</code></p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p><em><code>parent</code></em> is the pointer part of the
|
|
{<a href="#property-HTTPHeader.parent">parent</a>} component, as
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#frag-ids">specified
|
|
in WSDL Version 2.0 Part 1: Core Language</a>.</p>
|
|
</li>
|
|
<li>
|
|
<p><em><code>name</code></em> is the {<a href=
|
|
"#property-HTTPHeader.name">name</a>} property value.</p>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-fault-decl" id="http-fault-decl"></a>6.7
|
|
Specifying HTTP Error Code for Faults</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-fault-decl-description" id=
|
|
"http-fault-decl-description"></a>6.7.1 Description</h4>
|
|
<p>For every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component contained in an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component, an HTTP error code MAY be defined. It
|
|
represents the error code that will be used by the service in case
|
|
the fault needs to be returned.</p>
|
|
<p><span id="HTTPBindingFault-2105" class="test-assertion-tr">The
|
|
fault definition SHOULD agree with the definition of the HTTP error
|
|
codes, as specified in section 8 of [<cite><a href="#RFC3205">IETF
|
|
RFC 3205</a></cite>].<sup><a href="#HTTPBindingFault-2105-summary"
|
|
title=
|
|
"Link to assertion HTTPBindingFault-2105 summary">†</a></sup></span></p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-fault-decl-relate" id=
|
|
"http-fault-decl-relate"></a>6.7.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The HTTP Fault binding extension adds the following property to
|
|
the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingFault.httperrorstatuscode" id=
|
|
"property-BindingFault.httperrorstatuscode">http error status
|
|
code</a>} REQUIRED. A union of <em>xs:int</em> and
|
|
<em>xs:token</em> where the allowed token value is "#any", to the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component. <span id="HTTPBindingFault-2106"
|
|
class="test-assertion-tr">An integer value of this property
|
|
identifies the error Status-Code as defined by [<cite><a href=
|
|
"#RFC2616">IETF RFC 2616</a></cite>] that the service will use in
|
|
case the fault is returned.<sup><a href=
|
|
"#HTTPBindingFault-2106-summary" title=
|
|
"Link to assertion HTTPBindingFault-2106 summary">†</a></sup></span>
|
|
If the value of this property is "#any", no claim is made by the
|
|
service.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-fault-decl-xml" id=
|
|
"http-fault-decl-xml"></a>6.7.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding >
|
|
<fault ref="<em>xs:QName</em>"
|
|
<strong>whttp:code</strong>="<em>union of xs:int, xs:token</em>"? >
|
|
</fault>*
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for binding an HTTP Fault is an
|
|
<em>attribute information item</em> with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>a <code>code</code> OPTIONAL <em>attribute information
|
|
item</em></p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>code</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of union of <em>xs:int</em> and <em>xs:token</em> where
|
|
the allowed token value is "#any"</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-fault-decl-mapping" id=
|
|
"http-fault-decl-mapping"></a>6.7.4 Mapping from XML Representation
|
|
to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Fault_Mapping">Table 6-4</a>.</p>
|
|
<a name="tab_HTTP_Fault_Mapping" id="tab_HTTP_Fault_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-4. Mapping from XML Representation to <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFault.httperrorstatuscode">http error status
|
|
code</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:code</code> <em>attribute information item</em>, if
|
|
present; otherwise "#any".</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="_http_serialization" id="_http_serialization"></a>6.8
|
|
Serialization Format of Instance Data</h3>
|
|
<p>This section specifies three serialization formats defining
|
|
rules to encode the <a title="instance data" href=
|
|
"#instance_data">instance data</a> of an input or output message as
|
|
an HTTP message. <a href="#http_sftab">Table 6-5</a> and <a href=
|
|
"#http_sfstyles">Table 6-6</a> give an overview of those
|
|
serialization formats and their constraints. All of them allow
|
|
serialization of parts of the <a title="instance data" href=
|
|
"#instance_data">instance data</a> in the HTTP Request IRI, as
|
|
defined in section <a href="#_http_location_template"><strong>6.8.1
|
|
Serialization of the instance data in parts of the HTTP request
|
|
IRI</strong></a>.</p>
|
|
<p>Other serialization formats may be defined. Those MAY place
|
|
restrictions on the style of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound.</p>
|
|
<a name="http_sftab" id="http_sftab"></a>
|
|
<table border="1">
|
|
<caption>Table 6-5. Applicability of the serialization formats
|
|
defined in this section for this HTTP binding</caption>
|
|
<tbody>
|
|
<tr>
|
|
<td colspan="2" rowspan="3" align="center">-</td>
|
|
<th colspan="4" rowspan="1">Serialization of the instance data in
|
|
parts of an HTTP message</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="2" colspan="1">In the request URI</th>
|
|
<th colspan="3" rowspan="1">In the message body</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">
|
|
<em>application/x-www-form-urlencoded</em></th>
|
|
<th rowspan="1" colspan="1"><em>multipart/form-data</em></th>
|
|
<th rowspan="1" colspan="1"><em>application/xml</em></th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="2" colspan="1">HTTP request (input message)</th>
|
|
<th rowspan="1" colspan="1">Without message body: GET, DELETE,
|
|
…</th>
|
|
<td align="center" rowspan="1" colspan="1">All, some or none</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">With message body: POST, PUT, …</th>
|
|
<td align="center" rowspan="1" colspan="1">All, some or none</td>
|
|
<td align="center" rowspan="1" colspan="1">Remainder</td>
|
|
<td align="center" rowspan="1" colspan="1">All</td>
|
|
<td align="center" rowspan="1" colspan="1">All</td>
|
|
</tr>
|
|
<tr>
|
|
<th colspan="2" rowspan="1">HTTP response (output message)</th>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">All</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<a name="http_sfstyles" id="http_sfstyles"></a>
|
|
<table border="1">
|
|
<caption>Table 6-6. Operation styles required for using
|
|
serialization formats defined below as input
|
|
serialization</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="3" colspan="1">HTTP Method</th>
|
|
<th colspan="4" rowspan="1">Request</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="2" colspan="1">Request URI: query parameters or path
|
|
components</th>
|
|
<th colspan="3" rowspan="1">Input serialization</th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">
|
|
<em>application/x-www-form-urlencoded</em></th>
|
|
<th rowspan="1" colspan="1"><em>multipart/form-data</em></th>
|
|
<th rowspan="1" colspan="1"><em>application/xml</em></th>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Without message body: GET, DELETE,
|
|
…</th>
|
|
<td align="center" rowspan="1" colspan="1">IRI style</td>
|
|
<td align="center" rowspan="1" colspan="1">IRI style</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
<td align="center" rowspan="1" colspan="1">-</td>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">With message body: POST, PUT, …</th>
|
|
<td align="center" rowspan="1" colspan="1">IRI style, if any data
|
|
is serialized as path components or query parameters</td>
|
|
<td align="center" rowspan="1" colspan="1">IRI style</td>
|
|
<td align="center" rowspan="1" colspan="1">Multipart style</td>
|
|
<td align="center" rowspan="1" colspan="1">None required</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<div class="div3">
|
|
<h4><a name="_http_location_template" id=
|
|
"_http_location_template"></a>6.8.1 Serialization of the instance
|
|
data in parts of the HTTP request IRI</h4>
|
|
<p>This section defines templating rules for the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. Templating is used by the
|
|
serialization formats defined in section <a href=
|
|
"#_http_serialization"><strong>6.8 Serialization Format of Instance
|
|
Data</strong></a>, and MAY be reused by other serialization
|
|
formats.</p>
|
|
<p>With this HTTP binding, part of the instance data for HTTP
|
|
requests MAY be serialized in the HTTP request IRI, and another
|
|
part MAY be serialized in the HTTP message body.</p>
|
|
<p><span id="HTTPSerialization-2107" class="test-assertion-tr">If
|
|
the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound has a value of
|
|
"http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>, and if
|
|
the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component is present, the value of the
|
|
{<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property component is used as a template<sup><a href=
|
|
"#HTTPSerialization-2107-summary" title=
|
|
"Link to assertion HTTPSerialization-2107 summary">†</a></sup></span>
|
|
which is combined with the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Endpoint.address">address</a>}
|
|
property of the endpoint element to form the full IRI to be used in
|
|
an HTTP request, as specified in section <a href=
|
|
"#http-operation-decl-relate"><strong>6.5.2 Relationship to WSDL
|
|
Component Model</strong></a>.</p>
|
|
<p><span id="HTTPSerialization-2108" class="test-assertion-tr">The
|
|
resulting IRI MUST be mapped to an URI for use in the HTTP Request
|
|
as per section 3.1 "Mapping of IRIs to URIs" of the IRI
|
|
specification [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>].<sup><a href="#HTTPSerialization-2108-summary"
|
|
title=
|
|
"Link to assertion HTTPSerialization-2108 summary">†</a></sup></span>
|
|
Additional rules for the serialization of the HTTP request IRI MAY
|
|
be defined by a serialization format.</p>
|
|
<div class="div4">
|
|
<h5><a name="_http_operation_location_cited_ser" id=
|
|
"_http_operation_location_cited_ser"></a>6.8.1.1 Construction of
|
|
the request IRI using the {http location} property</h5>
|
|
<p>The {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property MAY cite local names of elements from the
|
|
<a title="instance data" href="#instance_data">instance data</a> of
|
|
the message to be serialized in request IRI. Citing is
|
|
performed:</p>
|
|
<ul>
|
|
<li>
|
|
<p>either by enclosing the element name within curly braces. For
|
|
example, "temperature/{town}". See <a href=
|
|
"#urlencoded_example_querystring">Example 6-1</a> for additional
|
|
details;</p>
|
|
</li>
|
|
<li>
|
|
<p>or by enclosing the element name within exclamated-curly braces,
|
|
to include the element without percent-encoding. For example,
|
|
"temperature/{!town}". Detailed rules follow.</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPSerialization-2106" class="test-assertion-tr">The
|
|
{<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property MUST conform to the following EBNF
|
|
[<cite><a href="#EBNF">ISO/IEC 14977:1996</a></cite>] grammar,
|
|
which represents the patterns for constructing the request
|
|
IRI:<sup><a href="#HTTPSerialization-2106-summary" title=
|
|
"Link to assertion HTTPSerialization-2106 summary">†</a></sup></span></p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
httpLocation ::= charData? (( openBrace | closeBrace | template ) charData?)*
|
|
charData ::= [^{}]*
|
|
openBrace ::= '{{'
|
|
closeBrace ::= '}}'
|
|
template ::= rawTemplate | encodedTemplate
|
|
rawTemplate ::= '{!' NCName '}'
|
|
encodedTemplate ::= '{' NCName '}'
|
|
</pre></div>
|
|
<p>The request IRI is constructed as follows (<code>ALPHA</code>
|
|
and <code>DIGIT</code> below are defined as per [<cite><a href=
|
|
"#RFC4234">IETF RFC 4234</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p><span id="HTTPSerialization-2109" class="test-assertion-tr">The
|
|
local name in a template SHOULD match at least one element from the
|
|
<a title="instance data" href="#instance_data">instance data</a> of
|
|
the input message.<sup><a href="#HTTPSerialization-2109-summary"
|
|
title=
|
|
"Link to assertion HTTPSerialization-2109 summary">†</a></sup></span>
|
|
When there is no match, the template is replaced by an empty
|
|
string. Otherwise, the template consumes the first non-consumed
|
|
matching element from the <a title="instance data" href=
|
|
"#instance_data">instance data</a>. The next occurrence of the
|
|
template consumes the next non-consumed matching element, and so on
|
|
until all templates are processed. Matching elements are consumed
|
|
in the order in which they appear in the <a title="instance data"
|
|
href="#instance_data">instance data</a>. <span id=
|
|
"HTTPSerialization-2110" class="test-assertion-tr">Cited elements
|
|
(i.e. elements referenced in templates) MUST NOT carry an
|
|
<code>xs:nil</code> attribute whose value is "true"<sup><a href=
|
|
"#HTTPSerialization-2110-summary" title=
|
|
"Link to assertion HTTPSerialization-2110 summary">†</a></sup></span>.</p>
|
|
</li>
|
|
<li>
|
|
<p>Each raw template (<code>rawTemplate</code> production in the
|
|
grammar above) is replaced by the possibly empty single value of
|
|
the corresponding element from the <a title="instance data" href=
|
|
"#instance_data">instance data</a>. No percent-encoding is
|
|
performed.</p>
|
|
</li>
|
|
<li>
|
|
<p>Each encoded template (<code>encodedTemplate</code> production
|
|
in the grammar above) NOT preceded in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property by a "?" character is replaced by the possibly empty
|
|
single value of the corresponding element from the <a title=
|
|
"instance data" href="#instance_data">instance data</a>. Encoding
|
|
is performed as follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>The characters in the range: <code>"&" | ";" | "!" | "$" |
|
|
"'" | "(" | ")" | "*" | "+" | "," | "=" | ":" | "@"</code> SHOULD
|
|
be percent-encoded.</p>
|
|
</li>
|
|
<li>
|
|
<p>The other characters, EXCEPT the ones in the range: <code>ALPHA
|
|
| DIGIT | "-" | "." | "_" | "~"</code>, MUST be
|
|
percent-encoded.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Each encoded template (<code>encodedTemplate</code> production
|
|
in the grammar above) preceded in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property by a "?" character is replaced by the possibly empty
|
|
single value of the corresponding element from the <a title=
|
|
"instance data" href="#instance_data">instance data</a>. Encoding
|
|
is performed as follows:</p>
|
|
<ul>
|
|
<li>
|
|
<p>The value of the {<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>} property, if present; otherwise the value
|
|
of the {<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} property, MUST be
|
|
percent-encoded.</p>
|
|
</li>
|
|
<li>
|
|
<p>The characters in the range: <code>"&" | ";" | "!" | "$" |
|
|
"'" | "(" | ")" | "*" | "+" | "," | "=" | ":" | "@" | "?" |
|
|
"/"</code> SHOULD be percent-encoded.</p>
|
|
</li>
|
|
<li>
|
|
<p>The other characters, EXCEPT the ones in the range: <code>ALPHA
|
|
| DIGIT | "-" | "." | "_" | "~"</code>, MUST be
|
|
percent-encoded.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>Each uncited element (i.e. each element not referenced in a
|
|
template) to be serialized, if any, is encoded as for an encoded
|
|
template.</p>
|
|
</li>
|
|
<li>
|
|
<p>Percent-encoding MUST be performed using the UTF-8
|
|
representation of the character as prescribed by section 6.4 of
|
|
[<cite><a href="#RFC3987">IETF RFC 3987</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>Each double curly brace (<code>openBrace</code> or
|
|
<code>closeBrace</code> production in the grammar above) is
|
|
replaced by a single literal curly brace ("{" or "}" respectively).
|
|
This provides a simple escaping mechanism.</p>
|
|
</li>
|
|
</ul>
|
|
<p>Note that the mechanism described in this section could be used
|
|
to indicate the entire absolute IRI, including the scheme, host, or
|
|
port, for example:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
{scheme}://{host}:{port}/temperature/{town}
|
|
</pre></div>
|
|
or even:
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
{!myIRI}
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_x-www-form-urlencoded" id=
|
|
"_http_x-www-form-urlencoded"></a>6.8.2 Serialization as
|
|
"application/x-www-form-urlencoded"</h4>
|
|
<p>This serialization format is designed to allow a client or Web
|
|
service to produce an IRI based on the <a title="instance data"
|
|
href="#instance_data">instance data</a> of a message and serialize
|
|
a query string in the HTTP message body as
|
|
<code>application/x-www-form-urlencoded</code>.</p>
|
|
<p><span id="HTTPSerialization-2111" class="test-assertion-tr">If
|
|
this format is used then the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component being bound MUST contain a value
|
|
of "http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>, i.e.
|
|
this serialization format may only be used to serialize the HTTP
|
|
request corresponding to the initial message of an interface
|
|
operation.<sup><a href="#HTTPSerialization-2111-summary" title=
|
|
"Link to assertion HTTPSerialization-2111 summary">†</a></sup></span></p>
|
|
<p><span id="HTTPSerialization-2112" class="test-assertion-tr">For
|
|
the HTTP binding defined in this section (<a href=
|
|
"#http-binding"><strong>6. WSDL HTTP Binding
|
|
Extension</strong></a>), "application/x-www-form-urlencoded" MAY be
|
|
used as a <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> for an input
|
|
message (HTTP Request), but MUST NOT be used as a <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> for an output or fault message (HTTP
|
|
Response).<sup><a href="#HTTPSerialization-2112-summary" title=
|
|
"Link to assertion HTTPSerialization-2112 summary">†</a></sup></span></p>
|
|
<div class="div4">
|
|
<h5><a name="_http_operation_location_cited_get" id=
|
|
"_http_operation_location_cited_get"></a>6.8.2.1 Case of elements
|
|
cited in the {http location} property</h5>
|
|
<p>In this serialization, the rules for constructing the HTTP
|
|
request IRI using elements cited in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property defined in <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a> apply.
|
|
Additional rules for constructing the HTTP request IRI follow.</p>
|
|
</div>
|
|
<div class="div4">
|
|
<h5><a name="_http_operation_location_notcited_get" id=
|
|
"_http_operation_location_notcited_get"></a>6.8.2.2 Serialization
|
|
of content of the instance data not cited in the {http location}
|
|
property</h5>
|
|
<p><span id="HTTPSerialization-2113" class="test-assertion-tr">If
|
|
not all elements from the <a title="instance data" href=
|
|
"#instance_data">instance data</a> are cited in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property, or if the property is not present on the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, then additional serialization
|
|
rules apply.<sup><a href="#HTTPSerialization-2113-summary" title=
|
|
"Link to assertion HTTPSerialization-2113 summary">†</a></sup></span></p>
|
|
<p>The remainder of the instance data is formatted as a query
|
|
string as defined in <a href=
|
|
"#_http_operation_location_query_constr"><strong>6.8.2.2.1
|
|
Construction of the query string</strong></a>.</p>
|
|
<p>If the HTTP method used for the request does not allow a message
|
|
body, then this query string is serialized as parameters in the
|
|
request IRI (see <a href=
|
|
"#_http_operation_location_notcited_iri"><strong>6.8.2.2.3
|
|
Serialization in the request IRI</strong></a>), otherwise it is
|
|
serialized in the message body (see <a href=
|
|
"#_http_operation_location_notcited_body"><strong>6.8.2.2.4
|
|
Serialization in the message body</strong></a>).</p>
|
|
<div class="div5">
|
|
<h6><a name="_http_operation_location_query_constr" id=
|
|
"_http_operation_location_query_constr"></a>6.8.2.2.1 Construction
|
|
of the query string</h6>
|
|
<p><span id="HTTPSerialization-2114" class="test-assertion-tr">For
|
|
elements of the instance data not cited in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property, a query string is constructed as follows.<sup><a href=
|
|
"#HTTPSerialization-2114-summary" title=
|
|
"Link to assertion HTTPSerialization-2114 summary">†</a></sup></span></p>
|
|
<p>Non-nil elements with a possibly empty single value of the
|
|
<a title="instance data" href="#instance_data">instance data</a>
|
|
not cited are serialized as query parameters in the order they
|
|
appear in the instance data.</p>
|
|
<p><span id="HTTPQueryString-2115" class="test-assertion-tr">The
|
|
<a title="instance data" href="#instance_data">instance data</a>
|
|
MUST NOT contain elements with an <code>xs:nil</code> attribute
|
|
whose value is "true".<sup><a href="#HTTPQueryString-2115-summary"
|
|
title=
|
|
"Link to assertion HTTPQueryString-2115 summary">†</a></sup></span></p>
|
|
<p>Each parameter pair is separated by the value of the {<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>} property, if present, or the value of the
|
|
{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} property.</p>
|
|
<ul>
|
|
<li>
|
|
<p>Uncited elements with single values (non-list) are serialized as
|
|
a single name-value parameter pair. The name of the parameter is
|
|
the local name of the uncited element, and the value of the
|
|
parameter is the value of the uncited element.</p>
|
|
</li>
|
|
<li>
|
|
<p>Uncited elements with list values are serialized as one
|
|
name-value parameter pair per-list value. The name of each
|
|
parameter is the local name of the uncited element, and the value
|
|
of each parameter is the corresponding value in the list. The order
|
|
of the list values is preserved.</p>
|
|
</li>
|
|
<li>
|
|
<p>Replacement values falling outside the range (<code>ALPHA</code>
|
|
and <code>DIGIT</code> below are defined as per [<cite><a href=
|
|
"#RFC4234">IETF RFC 4234</a></cite>]): <code>ALPHA | DIGIT | "-" |
|
|
"." | "_" | "~" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+"
|
|
| "," | ";" | "=" | ":" | "@"</code>, MUST be percent-encoded.
|
|
Percent-encoding MUST be performed using the UTF-8 representation
|
|
of the character as prescribed by section 6.4 of [<cite><a href=
|
|
"#RFC3987">IETF RFC 3987</a></cite>].</p>
|
|
</li>
|
|
</ul>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><a name=
|
|
"urlencoded_example_querystring" id=
|
|
"urlencoded_example_querystring"></a><em><span>Example 6-1.</span>
|
|
Query string generation</em></p>
|
|
<p>The following instance data of an input message:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<data>
|
|
<town>Fréjus</town>
|
|
<date>2007-06-26</date>
|
|
<unit>C</unit>
|
|
</data>
|
|
</pre></div>
|
|
<p>with the following value of the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
'temperature/{town}'
|
|
</pre></div>
|
|
<p>and the following value of the {<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} property:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
'&'
|
|
</pre></div>
|
|
<p>will produce the following query string:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
date=2007-06-26&unit=C
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="_http_urlencoded_stop" id=
|
|
"_http_urlencoded_stop"></a>6.8.2.2.2 Controlling the serialization
|
|
of the query string in the request IRI</h6>
|
|
<p>This serialization format adds the following property to the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component:</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httplocationignoreuncited"
|
|
id="property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} REQUIRED. A <em>xs:boolean</em>. This
|
|
boolean indicates whether elements not cited in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property MUST be appended to the request IRI or ignored. If the
|
|
value of this property is "false", the rules defined in section
|
|
<a href="#_http_operation_location_notcited_iri"><strong>6.8.2.2.3
|
|
Serialization in the request IRI</strong></a> dictate how to
|
|
serialize elements not cited in {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>} in the
|
|
request IRI. Otherwise, those are NOT serialized in the request
|
|
IRI.</p>
|
|
</li>
|
|
</ul>
|
|
<p><span id="HTTPQueryString-2116" class="test-assertion-tr">When
|
|
serializing an HTTP request that does not allow an HTTP message
|
|
body, and when {<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} is "true", any element NOT cited in
|
|
the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property MUST be defined in the schema as
|
|
<code>nillable</code>, or have a <code>default</code> value, or
|
|
appear no less frequently than specified by the
|
|
<code>minOccurs</code> value. The element declaration SHOULD NOT
|
|
combine a default value with <code>nillable</code>.<sup><a href=
|
|
"#HTTPQueryString-2116-summary" title=
|
|
"Link to assertion HTTPQueryString-2116 summary">†</a></sup></span></p>
|
|
<p>The XML representation for this property is an <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>An OPTIONAL <code>ignoreUncited</code> <em>attribute information
|
|
item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>ignoreUncited</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>The mapping from the XML representation to component properties
|
|
is as follows:</p>
|
|
<a name="tab_HTTP_URLEnc_Ignore" id="tab_HTTP_URLEnc_Ignore"></a>
|
|
<table border="1">
|
|
<caption>Table 6-7. Mapping from XML Representation to Binding
|
|
Operation component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:ignoreUncited</code> <em>attribute information
|
|
item</em>, if present; otherwise, "false".</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
<div class="div5">
|
|
<h6><a name="_http_operation_location_notcited_iri" id=
|
|
"_http_operation_location_notcited_iri"></a>6.8.2.2.3 Serialization
|
|
in the request IRI</h6>
|
|
<p><span id="HTTPSerialization-2117" class="test-assertion-tr">If
|
|
the HTTP request method used does not allow HTTP message body (e.g.
|
|
"GET" and "DELETE"), and if the value of the {<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} property is "false", then the
|
|
following rules apply.<sup><a href=
|
|
"#HTTPSerialization-2117-summary" title=
|
|
"Link to assertion HTTPSerialization-2117 summary">†</a></sup></span></p>
|
|
<p>If the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property is not present, or if it is present and its
|
|
value does not contain a "?" (question mark) character, a "?" is
|
|
appended to the request IRI. If it does already contain a question
|
|
mark character, then the value of the {<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>} property, if present, or the value of the
|
|
{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>} property otherwise, is
|
|
appended.</p>
|
|
<p>Finally, the query string computed in <a href=
|
|
"#_http_operation_location_query_constr"><strong>6.8.2.2.1
|
|
Construction of the query string</strong></a> is appended.</p>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><a name=
|
|
"urlencoded_example" id="urlencoded_example"></a><em><span>Example
|
|
6-2.</span> Instance data serialized in an IRI</em></p>
|
|
<p>The instance data defined in <a href=
|
|
"#urlencoded_example_querystring">Example 6-1</a> with the
|
|
following <code>operation</code> declaration:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<operation ref='t:data'
|
|
whttp:location='temperature/{town}'
|
|
whttp:method='GET' />
|
|
</pre></div>
|
|
<p>and the following <code>endpoint</code> declaration:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<endpoint name='e' binding='t:b'
|
|
address='http://ws.example.com/service1/' />
|
|
</pre></div>
|
|
<p>will serialize the message in the HTTP request as follows:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
GET http://ws.example.com/service1/temperature/Fr%C3%A9jus?date=2007-06-26&unit=C HTTP/1.1
|
|
Host: ws.example.com
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="div5">
|
|
<h6><a name="_http_operation_location_notcited_body" id=
|
|
"_http_operation_location_notcited_body"></a>6.8.2.2.4
|
|
Serialization in the message body</h6>
|
|
<p><span id="HTTPSerialization-2118" class="test-assertion-tr">If
|
|
the HTTP request method used does allow an HTTP message body (e.g.
|
|
"POST" and "PUT"), then the following rules apply.<sup><a href=
|
|
"#HTTPSerialization-2118-summary" title=
|
|
"Link to assertion HTTPSerialization-2118 summary">†</a></sup></span></p>
|
|
<p>Finally, the query string computed in <a href=
|
|
"#_http_operation_location_query_constr"><strong>6.8.2.2.1
|
|
Construction of the query string</strong></a> is used as the value
|
|
of the HTTP message body.</p>
|
|
<p><span id="HTTPSerialization-2119" class="test-assertion-tr">The
|
|
<code>Content-Type</code> HTTP header field must have the value
|
|
<code>application/x-www-form-urlencoded</code>.<sup><a href=
|
|
"#HTTPSerialization-2119-summary" title=
|
|
"Link to assertion HTTPSerialization-2119 summary">†</a></sup></span></p>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><a name=
|
|
"urlencoded_example_body" id=
|
|
"urlencoded_example_body"></a><em><span>Example 6-3.</span>
|
|
Instance data serialized in the HTTP Request IRI and message
|
|
body</em></p>
|
|
<p>The instance data defined in <a href=
|
|
"#urlencoded_example_querystring">Example 6-1</a> with the
|
|
following <code>operation</code> declaration:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<operation ref='t:data'
|
|
whttp:inputSerialization='application/x-www-form-urlencoded'
|
|
whttp:location='temperature/{town}'
|
|
whttp:method='POST' />
|
|
</pre></div>
|
|
<p>and the following <code>endpoint</code> declaration:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<endpoint name='e' binding='t:b'
|
|
address='http://ws.example.com/service1/' />
|
|
</pre></div>
|
|
<p>will serialize the message in the HTTP request as follow:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
POST http://ws.example.com/service1/temperature/Fr%C3%A9jus HTTP/1.1
|
|
Host: ws.example.com
|
|
Content-Type: application/x-www-form-urlencoded
|
|
Content-Length: …
|
|
|
|
date=2007-06-26&unit=C
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_operation_xml_encoding" id=
|
|
"_http_operation_xml_encoding"></a>6.8.3 Serialization as
|
|
"application/xml"</h4>
|
|
<p>In this serialization, for HTTP requests, the rules for
|
|
constructing the HTTP request IRI defined in <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a> apply
|
|
if the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound has a value of
|
|
"http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>.</p>
|
|
<p>The <a title="instance data" href="#instance_data">instance
|
|
data</a> of the input, output or fault message is serialized as an
|
|
XML document in the message body of the HTTP message, following the
|
|
serialization defined in [<cite><a href="#Canonical">Canonical
|
|
XML</a></cite>]. Therefore, it is only suitable for HTTP requests
|
|
using methods allowing message bodies (i.e., for the HTTP binding
|
|
defined in this specification, input messages where the HTTP method
|
|
selected has a body), and for HTTP responses (i.e. output and fault
|
|
messages for the HTTP binding defined in this specification).</p>
|
|
<p><span id="HTTPSerialization-2120" class="test-assertion-tr">The
|
|
<code>Content-Type</code> HTTP header MUST have the value
|
|
<code>application/xml</code> [<cite><a href="#RFC3023">IETF RFC
|
|
3023</a></cite>], or a media type compatible with
|
|
<code>application/xml</code> as specified in section <a href=
|
|
"#_http_ser_xml"><strong>6.4.3.1 Serialization rules for XML
|
|
messages</strong></a>.<sup><a href=
|
|
"#HTTPSerialization-2120-summary" title=
|
|
"Link to assertion HTTPSerialization-2120 summary">†</a></sup></span>
|
|
Other HTTP headers MAY be used.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="_http_operation_multipart_encoding" id=
|
|
"_http_operation_multipart_encoding"></a>6.8.4 Serialization as
|
|
"multipart/form-data"</h4>
|
|
<p>In this serialization, for HTTP requests, the rules for
|
|
constructing the HTTP request IRI defined in <a href=
|
|
"#_http_location_template"><strong>6.8.1 Serialization of the
|
|
instance data in parts of the HTTP request IRI</strong></a> apply
|
|
if the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound has a value of
|
|
"http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>.</p>
|
|
<p>This format is for legacy compatibility to permit the use of
|
|
XForms clients with [<cite><a href="#RFC2388">IETF RFC
|
|
2388</a></cite>] servers. This serialization format may only be
|
|
used when binding <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> components whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property has a value of "http://www.w3.org/ns/wsdl/style/multipart"
|
|
as defined in <a href="#_operation_multipart_style"><strong>4.3
|
|
Multipart style</strong></a>, i.e. <span id=
|
|
"HTTPSerialization-2121" class="test-assertion-tr">this
|
|
serialization format may only be used to serialize the HTTP request
|
|
corresponding to the initial message of an interface
|
|
operation.<sup><a href="#HTTPSerialization-2121-summary" title=
|
|
"Link to assertion HTTPSerialization-2121 summary">†</a></sup></span></p>
|
|
<p><span id="HTTPSerialization-2122" class=
|
|
"test-assertion-tr">Specifically, for the HTTP binding defined in
|
|
this section (<a href="#http-binding"><strong>6. WSDL HTTP Binding
|
|
Extension</strong></a>), "multipart/form-data" MAY be used as a
|
|
<a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> for an input
|
|
message (HTTP Request), but MUST NOT be used as a <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> for an output or fault message (HTTP
|
|
Response).<sup><a href="#HTTPSerialization-2122-summary" title=
|
|
"Link to assertion HTTPSerialization-2122 summary">†</a></sup></span>
|
|
This format serializes the instance data in the HTTP message body,
|
|
making it only suitable for HTTP requests using methods allowing
|
|
message bodies.</p>
|
|
<p>Each element in the sequence is serialized into a part as
|
|
follow:</p>
|
|
<ol class="enumar">
|
|
<li>
|
|
<p><span id="HTTPSerialization-2123" class="test-assertion-tr">The
|
|
<code>Content-Disposition</code> header MUST have the value
|
|
<code>form-data</code>, and its <code>name</code> parameter is the
|
|
local name of the element.<sup><a href=
|
|
"#HTTPSerialization-2123-summary" title=
|
|
"Link to assertion HTTPSerialization-2123 summary">†</a></sup></span></p>
|
|
</li>
|
|
<li>
|
|
<p><span id="HTTPSerialization-2124" class="test-assertion-tr">The
|
|
<code>Content-Type</code> header MUST have the value:<sup><a href=
|
|
"#HTTPSerialization-2124-summary" title=
|
|
"Link to assertion HTTPSerialization-2124 summary">†</a></sup></span></p>
|
|
<ul>
|
|
<li>
|
|
<p><code>application/xml</code> (or a media type compatible with
|
|
<code>application/xml</code>) if the element has a complex
|
|
type;</p>
|
|
</li>
|
|
<li>
|
|
<p><code>application/octet-stream</code> if the element is of type
|
|
<code>xs:base64Binary</code>, <code>xs:hexBinary</code>, or a
|
|
derived type;</p>
|
|
</li>
|
|
<li>
|
|
<p><code>text/plain</code> if the element has a simple type; The
|
|
charset MUST be set appropriately. UTF-8 or UTF-16 MUST be at least
|
|
supported.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>If the type is <code>xs:base64Binary</code>,
|
|
<code>xs:hexBinary</code>, <code>xs:anySimpleType</code> or a
|
|
derived type, the content of the part is the content of the
|
|
element. If the type is a complex type, the element is serialized
|
|
following the rules defined in the <a href=
|
|
"#_http_operation_xml_encoding"><strong>6.8.3 Serialization as
|
|
application/xml</strong></a> .</p>
|
|
</li>
|
|
</ol>
|
|
<p><span id="HTTPSerialization-2125" class="test-assertion-tr">The
|
|
<a title="instance data" href="#instance_data">instance data</a>
|
|
MUST NOT contain elements with an <code>xs:nil</code> attribute
|
|
whose value is "true".<sup><a href=
|
|
"#HTTPSerialization-2125-summary" title=
|
|
"Link to assertion HTTPSerialization-2125 summary">†</a></sup></span></p>
|
|
<div class="exampleOuter">
|
|
<p style="text-align: left" class="exampleHead"><em><span>Example
|
|
6-4.</span> Example of multipart/form-data</em></p>
|
|
<p>The following instance data of an input message:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<data>
|
|
<town>
|
|
<name>Fréjus</name>
|
|
<country>France</country>
|
|
</town>
|
|
<date>2007-06-26</date>
|
|
</data>
|
|
</pre></div>
|
|
<p>with the following <code>operation</code> element:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<operation ref='t:data'
|
|
whttp:location='temperature'
|
|
whttp:method='POST'
|
|
whttp:inputSerialization='multipart/form-data'/>
|
|
</pre></div>
|
|
<p>will serialize the message as follow:</p>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
Content-Type: multipart/form-data; boundary=AaB03x
|
|
Content-Length: xxx
|
|
|
|
--AaB03x
|
|
Content-Disposition: form-data; name="town"
|
|
Content-Type: application/xml
|
|
|
|
<town>
|
|
<name>Fréjus</name>
|
|
<country>France</country>
|
|
</town>
|
|
--AaB03x
|
|
Content-Disposition: form-data; name="date"
|
|
Content-Type: text/plain; charset=utf-8
|
|
|
|
2007-06-26
|
|
--AaB03x--
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-content-encoding-decl" id=
|
|
"http-content-encoding-decl"></a>6.9 Specifying the Content
|
|
Encoding</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-content-encoding-description" id=
|
|
"http-content-encoding-description"></a>6.9.1 Description</h4>
|
|
<p>Every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component MAY indicate which content encodings,
|
|
as defined in section 3.5 of [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>], are available for this particular message.</p>
|
|
<p>The HTTP binding extension provides a mechanism for indicating a
|
|
default value at the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> levels.</p>
|
|
<p>If no value is specified, no claim is being made.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-content-encoding-relate" id=
|
|
"http-content-encoding-relate"></a>6.9.2 Relationship to WSDL
|
|
Component Model</h4>
|
|
<p>The HTTP binding extension specification adds the following
|
|
properties to the WSDL component model (as defined in
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core
|
|
Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.httpcontentencodingdefault" id=
|
|
"property-Binding.httpcontentencodingdefault">http content encoding
|
|
default</a>} OPTIONAL. A <em>xs:string</em> to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component. This property indicates the default content encodings
|
|
available for all <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> and <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> components of this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingOperation.httpcontentencodingdefault"
|
|
id="property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>} OPTIONAL. A <em>xs:string</em> to the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component. This property indicates the
|
|
default content encodings available for all <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> of this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a>.</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-BindingMessageReference.httpcontentencoding"
|
|
id="property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>} OPTIONAL. A <em>xs:string</em> to the
|
|
<a href="http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component. This property indicates
|
|
the content encodings available for this <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component. If this property does not
|
|
have a value, the value of the {<a href=
|
|
"#property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>} property of the parent <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component is used instead. If that itself has
|
|
no value, the value from the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component's parent <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component is used instead.</p>
|
|
</li>
|
|
<li>
|
|
<p>Similarly, {<a name="property-BindingFault.httpcontentencoding"
|
|
id="property-BindingFault.httpcontentencoding">http content
|
|
encoding</a>} OPTIONAL, to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component</p>
|
|
</li>
|
|
</ul>
|
|
<p>These properties are not relevant when HTTP 1.0 is used.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-content-encoding-decl-xml" id=
|
|
"http-content-encoding-decl-xml"></a>6.9.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"? type="<em>xs:anyURI</em>"
|
|
<strong>whttp:contentEncodingDefault</strong>="<em>xs:string</em>"? >
|
|
|
|
<fault ref="<em>xs:QName</em>"
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? >
|
|
</fault>*
|
|
|
|
<operation location="<em>xs:anyURI</em>"?
|
|
<strong>whttp:contentEncodingDefault</strong>="<em>xs:string</em>"? >
|
|
<input messageLabel="<em>xs:NCName</em>"?
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? />
|
|
|
|
<output messageLabel="<em>xs:NCName</em>"?
|
|
<strong>whttp:contentEncoding</strong>="<em>xs:string</em>"? />
|
|
|
|
</operation>
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for specifying the content encoding is an
|
|
OPTIONAL <em>attribute information item</em> for the
|
|
<code>input</code>, <code>output</code>, and <code>fault</code>
|
|
<em>element information item</em>s with the following Infoset
|
|
properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>contentEncoding</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
<p>The XML representation for specifying the default content
|
|
encoding is an OPTIONAL <em>attribute information item</em> for the
|
|
<code>binding</code> <em>element information item</em> or
|
|
<code>binding</code>'s child <code>operation</code> <em>element
|
|
information item</em>s with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>contentEncodingDefault</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-content-encoding-decl-mapping" id=
|
|
"http-content-encoding-decl-mapping"></a>6.9.4 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Content_Coding_Mapping">Table
|
|
6-8</a>.</p>
|
|
<a name="tab_HTTP_Content_Coding_Mapping" id=
|
|
"tab_HTTP_Content_Coding_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-8. Mapping from XML Representation to <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component Extension
|
|
Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.httpcontentencodingdefault">http content
|
|
encoding default</a>} of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:contentEncodingDefault</code> <em>attribute information
|
|
item</em> of the <code>binding</code> <em>element information
|
|
item</em>, if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>} of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:contentEncodingDefault</code> <em>attribute information
|
|
item</em> of the <code>operation</code> <em>element information
|
|
item</em>, if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>} of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:contentEncoding</code> <em>attribute information
|
|
item</em> of the <code>input</code> or <code>output</code>
|
|
<em>element information item</em>, if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFault.httpcontentencoding">http content
|
|
encoding</a>} of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:contentEncoding</code> <em>attribute information
|
|
item</em> of the <code>fault</code> <em>element information
|
|
item</em>, if present.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-cookies-decl" id="http-cookies-decl"></a>6.10
|
|
Specifying the Use of HTTP Cookies</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-cookies-description" id=
|
|
"http-cookies-description"></a>6.10.1 Description</h4>
|
|
<p>The {<a href="#property-Binding.httpcookies">http cookies</a>}
|
|
property allows <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
components to indicate that HTTP cookies (as defined by
|
|
[<cite><a href="#RFC2965">IETF RFC 2965</a></cite>]) are used by
|
|
specific operations of the interface that this binding applies
|
|
to.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-cookies-relate" id=
|
|
"http-cookies-relate"></a>6.10.2 Relationship to WSDL Component
|
|
Model</h4>
|
|
<p>The HTTP binding extension specification adds the following
|
|
property to the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Binding.httpcookies" id=
|
|
"property-Binding.httpcookies">http cookies</a>} REQUIRED. A
|
|
<em>xs:boolean</em> to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-cookies-decl-xml" id=
|
|
"http-cookies-decl-xml"></a>6.10.3 XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<binding name="<em>xs:NCName</em>" interface="<em>xs:QName</em>"? type="<em>xs:anyURI</em>"
|
|
<strong>whttp:cookies</strong>="<em>xs:boolean</em>"? >
|
|
</binding>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for specifying the use of HTTP cookies is
|
|
an OPTIONAL <em>attribute information item</em> with the following
|
|
Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>cookies</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:boolean</em></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-cookies-decl-mapping" id=
|
|
"http-cookies-decl-mapping"></a>6.10.4 Mapping from XML
|
|
Representation to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Cookies_Mapping">Table 6-9</a>.</p>
|
|
<a name="tab_HTTP_Cookies_Mapping" id=
|
|
"tab_HTTP_Cookies_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-9. Mapping from XML Representation to Binding
|
|
component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.httpcookies">http cookies</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:cookies</code> <em>attribute information item</em>;
|
|
otherwise, "false". <span id="HTTPCookies-2126" class=
|
|
"test-assertion-tr">A value of "true" means that the service relies
|
|
on cookies and that the client MUST understand them.<sup><a href=
|
|
"#HTTPCookies-2126-summary" title=
|
|
"Link to assertion HTTPCookies-2126 summary">†</a></sup></span></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-auth-decl" id="http-auth-decl"></a>6.11
|
|
Specifying HTTP Access Authentication</h3>
|
|
<div class="div3">
|
|
<h4><a name="http-auth-description" id=
|
|
"http-auth-description"></a>6.11.1 Description</h4>
|
|
<p>Every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component MAY indicate the use of an HTTP access authentication
|
|
mechanism (as defined by [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>]) for the endpoint described.</p>
|
|
<p>This binding extension specification allows the authentication
|
|
scheme and realm to be specified.</p>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-auth-relate" id="http-auth-relate"></a>6.11.2
|
|
Relationship to WSDL Component Model</h4>
|
|
<p>The HTTP binding extension specification adds the following
|
|
property to the WSDL component model (as defined in [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]):</p>
|
|
<ul>
|
|
<li>
|
|
<p>{<a name="property-Endpoint.httpauthenticationscheme" id=
|
|
"property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>} OPTIONAL. A <em>xs:token</em> with one of the values
|
|
"basic" or "digest", to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component, corresponding to the HTTP authentication scheme used.
|
|
When present, this property indicates the authentication scheme in
|
|
use: "basic" indicates the Basic Access Authentication scheme
|
|
defined in [<cite><a href="#RFC2617">IETF RFC 2617</a></cite>], and
|
|
"digest" indicates the Digest Access Authentication scheme as
|
|
defined in [<cite><a href="#RFC2617">IETF RFC 2617</a></cite>].</p>
|
|
</li>
|
|
<li>
|
|
<p>{<a name="property-Endpoint.httpauthenticationrealm" id=
|
|
"property-Endpoint.httpauthenticationrealm">http authentication
|
|
realm</a>} OPTIONAL. A <em>xs:string</em> to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component. It corresponds to the realm authentication parameter
|
|
defined in [<cite><a href="#RFC2617">IETF RFC 2617</a></cite>].
|
|
<span id="HTTPAccessAuthentication-2127" class=
|
|
"test-assertion-tr">If the {<a href=
|
|
"#property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>} property is present, then this property MUST be
|
|
present.<sup><a href="#HTTPAccessAuthentication-2127-summary"
|
|
title="Link to assertion HTTPAccessAuthentication-2127 summary">†</a></sup></span></p>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-auth-decl-xml" id="http-auth-decl-xml"></a>6.11.3
|
|
XML Representation</h4>
|
|
<div class="exampleInner">
|
|
<pre xml:space="preserve">
|
|
<description>
|
|
<service>
|
|
<endpoint name="<em>xs:NCName</em>" binding="<em>xs:QName</em>" address="<em>xs:anyURI</em>"? >
|
|
<strong>whttp:authenticationScheme</strong>="<em>xs:token</em>"?
|
|
<strong>whttp:authenticationRealm</strong>="<em>xs:string</em>"? />
|
|
</endpoint>
|
|
</service>
|
|
</description>
|
|
</pre></div>
|
|
<p>The XML representation for specifying the use of HTTP access
|
|
authentication is two OPTIONAL <em>attribute information item</em>s
|
|
with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>An OPTIONAL <code>authenticationScheme</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>authenticationScheme</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:token</em> where the allowed token values are
|
|
"basic" and "digest".</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<p>An OPTIONAL <code>authenticationRealm</code> <em>attribute
|
|
information item</em> with the following Infoset properties:</p>
|
|
<ul>
|
|
<li>
|
|
<p>A [local name] of <code>authenticationRealm</code></p>
|
|
</li>
|
|
<li>
|
|
<p>A [namespace name] of "http://www.w3.org/ns/wsdl/http"</p>
|
|
</li>
|
|
<li>
|
|
<p>A type of <em>xs:string</em></p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="div3">
|
|
<h4><a name="http-auth-decl-mapping" id=
|
|
"http-auth-decl-mapping"></a>6.11.4 Mapping from XML Representation
|
|
to Component Properties</h4>
|
|
<p>See <a href="#tab_HTTP_Access_Authentication_Mapping">Table
|
|
6-10</a>.</p>
|
|
<a name="tab_HTTP_Access_Authentication_Mapping" id=
|
|
"tab_HTTP_Access_Authentication_Mapping"></a>
|
|
<table border="1">
|
|
<caption>Table 6-10. Mapping from XML Representation to Endpoint
|
|
component Extension Properties</caption>
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Value</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:authenticationScheme</code> <em>attribute information
|
|
item</em>, if present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Endpoint.httpauthenticationrealm">http authentication
|
|
realm</a>}</td>
|
|
<td rowspan="1" colspan="1">The actual value of the
|
|
<code>whttp:authenticationRealm</code> <em>attribute information
|
|
item</em>, if present; otherwise, if the
|
|
<code>whttp:authenticationScheme</code> <em>attribute information
|
|
item</em> is present, "" (the empty value).</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="http-conformance" id="http-conformance"></a>6.12
|
|
Conformance</h3>
|
|
<p>An <em>element information item</em>, whose namespace name is
|
|
"http://www.w3.org/ns/wsdl" and whose local part is
|
|
<code>description</code>, conforms to this binding extension
|
|
specification if: the <em>element information item</em>s and
|
|
<em>attribute information item</em>s, whose namespace is
|
|
http://www.w3.org/ns/wsdl/http, conform to the XML Schema for that
|
|
element or attribute, as defined by this specification and,
|
|
additionally, adheres to all the constraints contained in this
|
|
specification.</p>
|
|
</div>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="References" id="References"></a>7. References</h2>
|
|
<div class="div2">
|
|
<h3><a name="Normative-References" id=
|
|
"Normative-References"></a>7.1 Normative References</h3>
|
|
<dl>
|
|
<dt class="label"><a name="EBNF" id="EBNF"></a>[ISO/IEC
|
|
14977:1996]</dt>
|
|
<dd><cite><a href=
|
|
"http://isotc.iso.org/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm">
|
|
Extended BNF</a></cite>, IS0 (the International Organization for
|
|
Standardization) and IEC (the International Electrotechnical
|
|
Commission), Dec 1996. Available at
|
|
http://isotc.iso.org/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm.</dd>
|
|
<dt class="label"><a name="RFC2119" id="RFC2119"></a>[IETF RFC
|
|
2119]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2119.txt">Key words
|
|
for use in RFCs to Indicate Requirement Levels</a></cite>, S.
|
|
Bradner, Author. Internet Engineering Task Force, March 1997.
|
|
Available at http://www.ietf.org/rfc/rfc2119.txt.</dd>
|
|
<dt class="label"><a name="RFC2388" id="RFC2388"></a>[IETF RFC
|
|
2388]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2388.txt">Returning
|
|
Values from Forms: multipart/form-data</a></cite>, L. Masinter,
|
|
Author. Internet Engineering Task Force, August 1998. Available at
|
|
http://www.ietf.org/rfc/rfc2388.txt.</dd>
|
|
<dt class="label"><a name="RFC2616" id="RFC2616"></a>[IETF RFC
|
|
2616]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2616.txt">Hypertext
|
|
Transfer Protocol -- HTTP/1.1</a></cite>, R. Fielding, J. Gettys,
|
|
J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee,
|
|
Authors. Internet Engineering Task Force, June 1999. Available at
|
|
http://www.ietf.org/rfc/rfc2616.txt.</dd>
|
|
<dt class="label"><a name="RFC2617" id="RFC2617"></a>[IETF RFC
|
|
2617]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2617.txt">HTTP
|
|
Authentication: Basic and Digest Access Authentication</a></cite>,
|
|
J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A.
|
|
Luotonen, L. Stewart, June 1999. Available at
|
|
http://www.ietf.org/rfc/rfc2616.txt.</dd>
|
|
<dt class="label"><a name="RFC2818" id="RFC2818"></a>[IETF RFC
|
|
2818]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2818.txt">HTTP Over
|
|
TLS</a></cite>, E. Rescorla, Author. Internet Engineering Task
|
|
Force, May 2000. Available at
|
|
http://www.ietf.org/rfc/rfc2818.txt.</dd>
|
|
<dt class="label"><a name="RFC2965" id="RFC2965"></a>[IETF RFC
|
|
2965]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc2965.txt">HTTP State
|
|
Management Mechanism</a></cite>, D. Kristol, L. Montulli Authors.
|
|
Internet Engineering Task Force, October 2000. Available at
|
|
http://www.ietf.org/rfc/rfc2965.txt.</dd>
|
|
<dt class="label"><a name="RFC3023" id="RFC3023"></a>[IETF RFC
|
|
3023]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc3023.txt">XML Media
|
|
Types</a></cite>, M. Murata, S. St. Laurent, D. Kohn, Authors.
|
|
Internet Engineering Task Force, January 2001. Available at
|
|
http://www.ietf.org/rfc/rfc3023.txt.</dd>
|
|
<dt class="label"><a name="RFC3205" id="RFC3205"></a>[IETF RFC
|
|
3205]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc3205.txt">On the use
|
|
of HTTP as a Substrate</a></cite>, K. Moore, Authors. Internet
|
|
Engineering Task Force, February 2002. Available at
|
|
http://www.ietf.org/rfc/rfc3205.txt.</dd>
|
|
<dt class="label"><a name="RFC3986" id="RFC3986"></a>[IETF RFC
|
|
3986]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc3986.txt">Uniform
|
|
Resource Identifiers (URI): Generic Syntax</a></cite>, T.
|
|
Berners-Lee, R. Fielding, L. Masinter, Authors. Internet
|
|
Engineering Task Force, January 2005. Available at
|
|
http://www.ietf.org/rfc/rfc3986.txt.</dd>
|
|
<dt class="label"><a name="RFC3987" id="RFC3987"></a>[IETF RFC
|
|
3987]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource
|
|
Identifiers (IRIs)</a></cite>, M. Duerst, M. Suignard, Authors.
|
|
Internet Engineering Task Force, January 2005. Available at
|
|
http://www.ietf.org/rfc/rfc3987.txt.</dd>
|
|
<dt class="label"><a name="RFC4234" id="RFC4234"></a>[IETF RFC
|
|
4234]</dt>
|
|
<dd><cite><a href="http://www.ietf.org/rfc/rfc4234.txt">Augmented
|
|
BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P.
|
|
Overell, Authors. Internet Engineering Task Force, October 2005.
|
|
Available at http://www.ietf.org/rfc/rfc4234.txt.</dd>
|
|
<dt class="label"><a name="webarch" id="webarch"></a>[Web
|
|
Architecture]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2004/REC-webarch-20041215/">Architecture of
|
|
the World Wide Web, Volume One</a></cite>, I. Jacobs, and N. Walsh,
|
|
Editors. World Wide Web Consortium, 15 December 2004. This version
|
|
of the "Architecture of the World Wide Web, Volume One"
|
|
Recommendation is http://www.w3.org/TR/2004/REC-webarch-20041215/.
|
|
The <a href="http://www.w3.org/TR/webarch/">latest version of
|
|
"Architecture of the World Wide Web, Volume One"</a> is available
|
|
at http://www.w3.org/TR/webarch/.</dd>
|
|
<dt class="label"><a name="wsarch" id="wsarch"></a>[Web Services
|
|
Architecture]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/">Web Services
|
|
Architecture</a></cite>, David Booth, Hugo Haas, Francis McCabe,
|
|
Eric Newcomer, Michael Champion, Chris Ferris, David Orchard,
|
|
Editors. World Wide Web Consortium, 11 February 2004. This version
|
|
of the "Web Services Architecture" Working Group Note is
|
|
http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/. The <a href=
|
|
"http://www.w3.org/TR/ws-arch/">latest version of "Web Services
|
|
Architecture"</a> is available at
|
|
http://www.w3.org/TR/ws-arch/.</dd>
|
|
<dt class="label"><a name="WSDL-PART1" id="WSDL-PART1"></a>[WSDL
|
|
2.0 Core Language]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626">Web Services
|
|
Description Language (WSDL) Version 2.0 Part 1: Core
|
|
Language</a></cite>, R. Chinnici, J-J. Moreau, A. Ryman, S.
|
|
Weerawarana, Editors. World Wide Web Consortium, 26 June 2007. This
|
|
version of the "Web Services Description Language (WSDL) Version
|
|
2.0 Part 1: Core Language" Recommendation is available 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
|
|
Description 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="SOAP12-PART1" id=
|
|
"SOAP12-PART1"></a>[SOAP 1.2 Part 1: Messaging Framework (Second
|
|
Edition)]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/REC-soap12-part1-20070427/">SOAP Version
|
|
1.2 Part 1: Messaging Framework (Second Edition)</a></cite>, M.
|
|
Gudgin, et al., Editors. World Wide Web Consortium, 24 June 2003,
|
|
revised 27 April 2007. This version of the "SOAP Version 1.2 Part
|
|
1: Messaging Framework (Second Edition)" Recommendation is
|
|
http://www.w3.org/TR/2007/REC-soap12-part1-20070427/. The <a href=
|
|
"http://www.w3.org/TR/soap12-part1/">latest version of "SOAP
|
|
Version 1.2 Part 1: Messaging Framework"</a> is available at
|
|
http://www.w3.org/TR/soap12-part1/.</dd>
|
|
<dt class="label"><a name="SOAP12-PART2" id=
|
|
"SOAP12-PART2"></a>[SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/REC-soap12-part2-20070427/">SOAP Version
|
|
1.2 Part 2: Adjuncts (Second Edition)</a></cite>, M. Gudgin, et
|
|
al., Editors. World Wide Web Consortium, 24 June 2006, revised 27
|
|
April 2007. This version of the "SOAP Version 1.2 Part 2: Adjuncts
|
|
(Second Edition)" Recommendation is
|
|
http://www.w3.org/TR/2007/REC-soap12-part2-20070427/. The <a href=
|
|
"http://www.w3.org/TR/soap12-part2/">latest version of "SOAP
|
|
Version 1.2 Part 2: Adjuncts"</a> is available at
|
|
http://www.w3.org/TR/soap12-part2/.</dd>
|
|
<dt class="label"><a name="XML10" id="XML10"></a>[XML 1.0]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2006/REC-xml-20060816/">Extensible Markup
|
|
Language (XML) 1.0 (Fourth Edition)</a></cite>, T. Bray, J. Paoli,
|
|
C. M. Sperberg-McQueen, E. Maler, and F. Yergeau, Editors. World
|
|
Wide Web Consortium, 10 February 1998, revised 16 August 2006. This
|
|
version of the XML 1.0 Recommendation is
|
|
http://www.w3.org/TR/2006/REC-xml-20060816/. The <a href=
|
|
"http://www.w3.org/TR/REC-xml">latest version of "Extensible Markup
|
|
Language (XML) 1.0"</a> is available at
|
|
http://www.w3.org/TR/REC-xml.</dd>
|
|
<dt class="label"><a name="Canonical" id="Canonical"></a>[Canonical
|
|
XML]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2001/REC-xml-c14n-20010315">Canonical
|
|
XML</a></cite>, J. Boyer, Author. World Wide Web Consortium, 15
|
|
March 2001. This version of the Canonical XML Recommendation is
|
|
http://www.w3.org/TR/2001/REC-xml-c14n-20010315. The <a href=
|
|
"http://www.w3.org/TR/xml-c14n">latest version of Canonical XML</a>
|
|
is available at http://www.w3.org/TR/xml-c14n.</dd>
|
|
<dt class="label"><a name="XMLInfoSet" id="XMLInfoSet"></a>[XML
|
|
Information Set]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2004/REC-xml-infoset-20040204">XML
|
|
Information Set (Second Edition)</a></cite>, J. Cowan and R. Tobin,
|
|
Editors. World Wide Web Consortium, 24 October 2001, revised 4
|
|
February 2004. This version of the XML Information Set
|
|
Recommendation is
|
|
http://www.w3.org/TR/2004/REC-xml-infoset-20040204. The <a href=
|
|
"http://www.w3.org/TR/xml-infoset">latest version of XML
|
|
Information Set</a> is available at
|
|
http://www.w3.org/TR/xml-infoset.</dd>
|
|
<dt class="label"><a name="XMLSchemaP1" id="XMLSchemaP1"></a>[XML
|
|
Schema Structures]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">XML Schema
|
|
Part 1: Structures Second Edition</a></cite>, H. Thompson, D.
|
|
Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web
|
|
Consortium, 2 May 2001, revised 28 October 2004. This version of
|
|
the XML Schema Part 1 Recommendation is
|
|
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028. The <a href=
|
|
"http://www.w3.org/TR/xmlschema-1/">latest version of XML Schema
|
|
Part 1</a> is available at http://www.w3.org/TR/xmlschema-1.</dd>
|
|
<dt class="label"><a name="XMLSchemaP2" id="XMLSchemaP2"></a>[XML
|
|
Schema Datatypes]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema
|
|
Part 2: Datatypes Second Edition</a></cite>, P. Byron and A.
|
|
Malhotra, Editors. World Wide Web Consortium, 2 May 2001, revised
|
|
28 October 2004. This version of the XML Schema Part 2
|
|
Recommendation is
|
|
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028. The <a href=
|
|
"http://www.w3.org/TR/xmlschema-2/">latest version of XML Schema
|
|
Part 2</a> is available at http://www.w3.org/TR/xmlschema-2.</dd>
|
|
<dt class="label"><a name="XForms10" id="XForms10"></a>[XForms
|
|
1.0]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2006/REC-xforms-20060314/">XForms 1.0 (Second
|
|
Edition)</a></cite>, J. Boyer, et al., Editors. World Wide Web
|
|
Consortium, 14 October 2003, revised 14 March 2006. This version of
|
|
the XForms 1.0 Recommendation is
|
|
http://www.w3.org/TR/2006/REC-xforms-20060314/. The <a href=
|
|
"http://www.w3.org/TR/xforms/">latest version of XForms 1.0</a> is
|
|
available at http://www.w3.org/TR/xforms/.</dd>
|
|
</dl>
|
|
</div>
|
|
<div class="div2">
|
|
<h3><a name="Informative-References" id=
|
|
"Informative-References"></a>7.2 Informative References</h3>
|
|
<dl>
|
|
<dt class="label"><a name="WSA-Core" id="WSA-Core"></a>[WSA 1.0
|
|
Core]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/">Web Services
|
|
Addressing 1.0 - Core</a></cite>, M. Gudgin, M. Hadley, T. Rogers,
|
|
Editors. World Wide Web Consortium, 9 May 2006. This version of Web
|
|
Services Addressing 1.0 - Core Recommendation is
|
|
http://www.w3.org/TR/2006/REC-ws-addr-core-20060509/. The latest
|
|
version of the "Web Services Addressing 1.0 - Core" document is
|
|
available from http://www.w3.org/TR/ws-addr-core.</dd>
|
|
<dt class="label"><a name="WSDL-PART0" id="WSDL-PART0"></a>[WSDL
|
|
2.0 Primer]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-primer-20070626">Web Services
|
|
Description Language (WSDL) Version 2.0 Part 0: Primer</a></cite> ,
|
|
D.Booth, C.K. Liu , Editors. World Wide Web Consortium, 26 June
|
|
2007. This version of the "Web Services Description Language (WSDL)
|
|
Version 2.0 Part 0: Primer" Recommendation is available at
|
|
http://www.w3.org/TR/2007/REC-wsdl20-primer-20070626. The <a href=
|
|
"http://www.w3.org/TR/wsdl20-primer">latest version of "Web
|
|
Services Description Language (WSDL) Version 2.0 Part 0:
|
|
Primer"</a> is available at
|
|
http://www.w3.org/TR/wsdl20-primer.</dd>
|
|
<dt class="label"><a name="WSDL-MEPS" id="WSDL-MEPS"></a>[WSDL 2.0
|
|
Additional MEPs]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2007/NOTE-wsdl20-additional-meps-20070626">Web
|
|
Services Description Language (WSDL) Version 2.0: Additional
|
|
MEPs</a></cite>, A. Lewis, Editors. World Wide Web Consortium, 26
|
|
June 2007. This version of the "Web Services Description Language
|
|
(WSDL) Version 2.0: Additional MEPs" Working Group Note is
|
|
available is available at
|
|
http://www.w3.org/TR/2007/NOTE-wsdl20-additional-meps-20070626. The
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/NOTE-wsdl20-additional-meps-20070626">latest
|
|
version of "Web Services Description Language (WSDL) Version 2.0:
|
|
Additional MEPs"</a> is available at
|
|
http://www.w3.org/TR/wsdl20-additional-meps.</dd>
|
|
<dt class="label"><a name="MTOM" id="MTOM"></a>[SOAP Message
|
|
Transmission Optimization Mechanism]</dt>
|
|
<dd><cite><a href=
|
|
"http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/">SOAP Message
|
|
Transmission Optimization Mechanism</a></cite>, N. Mendelsohn, M.
|
|
Nottingham, and H. Ruellan, Editors. World Wide Web Consortium, W3C
|
|
Recommendation, 25 January 2005. This version of SOAP Message
|
|
Transmission Optimization Mechanism is
|
|
http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/. The <a href=
|
|
"http://www.w3.org/TR/soap12-mtom/">latest version of the "SOAP
|
|
Message Transmission Optimization Mechanism" document</a> is
|
|
available from http://www.w3.org/TR/soap12-mtom/.</dd>
|
|
<dt class="label"><a name="XPTR" id="XPTR"></a>[XPointer]</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. World Wide Web Consortium, 25 March 2003. This
|
|
version of the XPointer Framework Proposed Recommendation is
|
|
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>
|
|
</dl>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="back">
|
|
<div class="div1">
|
|
<h2><a name="acknowledgments" id="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>
|
|
<p>Members of the Working Group are (at the time of writing, and by
|
|
alphabetical order): Charlton Barreto (Adobe Systems, Inc), Allen
|
|
Brookes (Rogue Wave Softwave), Dave Chappell (Sonic Software),
|
|
Helen Chen (Agfa-Gevaert N. V.), Roberto Chinnici (Sun
|
|
Microsystems), Kendall Clark (University of Maryland), Glen Daniels
|
|
(Sonic Software), Paul Downey (British Telecommunications), Youenn
|
|
Fablet (Canon), Ram Jeyaraman (Microsoft), Tom Jordahl (Adobe
|
|
Systems), Anish Karmarkar (Oracle Corporation), Jacek Kopecky (DERI
|
|
Innsbruck at the Leopold-Franzens-Universität Innsbruck, Austria),
|
|
Amelia Lewis (TIBCO Software, Inc.), Philippe Le Hegaret (W3C),
|
|
Michael Liddy (Education.au Ltd.), Kevin Canyang Liu (SAP AG),
|
|
Jonathan Marsh (WSO2), Monica Martin (Sun Microsystems), Josephine
|
|
Micallef (SAIC - Telcordia Technologies), Jeff Mischkinsky (Oracle
|
|
Corporation), Dale Moberg (Cyclone Commerce), Jean-Jacques Moreau
|
|
(Canon), David Orchard (BEA Systems, Inc.), Gilbert Pilz (BEA
|
|
Systems, Inc.), Tony Rogers (Computer Associates), Arthur Ryman
|
|
(IBM), Adi Sakala (IONA Technologies), Michael Shepherd (Xerox),
|
|
Asir Vedamuthu (Microsoft Corporation), Sanjiva Weerawarana (WSO2),
|
|
Ümit Yalçınalp (SAP AG), Peter Zehler (Xerox).</p>
|
|
<p>Previous members were: Eran Chinthaka (WSO2), Mark Nottingham
|
|
(BEA Systems, Inc.), Hugo Haas (W3C), Vivek Pandey (Sun
|
|
Microsystems), Bijan Parsia (University of Maryland), Lily Liu
|
|
(webMethods, Inc.), Don Wright (Lexmark), Joyce Yang (Oracle
|
|
Corporation), Daniel Schutzer (Citigroup), Dave Solo (Citigroup),
|
|
Stefano Pogliani (Sun Microsystems), William Stumbo (Xerox),
|
|
Stephen White (SeeBeyond), Barbara Zengler (DaimlerChrysler
|
|
Research and Technology), Tim Finin (University of Maryland),
|
|
Laurent De Teneuille (L'Echangeur), Johan Pauhlsson (L'Echangeur),
|
|
Mark Jones (AT&T), Steve Lind (AT&T), Sandra Swearingen
|
|
(U.S. Department of Defense, U.S. Air Force), Philippe Le Hégaret
|
|
(W3C), Jim Hendler (University of Maryland), Dietmar Gaertner
|
|
(Software AG), Michael Champion (Software AG), Don Mullen (TIBCO
|
|
Software, Inc.), Steve Graham (Global Grid Forum), Steve Tuecke
|
|
(Global Grid Forum), Michael Mahan (Nokia), Bryan Thompson (Hicks
|
|
& Associates), Ingo Melzer (DaimlerChrysler Research and
|
|
Technology), Sandeep Kumar (Cisco Systems), Alan Davies
|
|
(SeeBeyond), Jacek Kopecky (Systinet), Mike Ballantyne (Electronic
|
|
Data Systems), Mike Davoren (W. W. Grainger), Dan Kulp (IONA
|
|
Technologies), Mike McHugh (W. W. Grainger), Michael Mealling
|
|
(Verisign), Waqar Sadiq (Electronic Data Systems), Yaron Goland
|
|
(BEA Systems, Inc.), Ümit Yalçınalp (Oracle Corporation), Peter
|
|
Madziak (Agfa-Gevaert N. V.), Jeffrey Schlimmer (Microsoft
|
|
Corporation), Hao He (The Thomson Corporation), Erik Ackerman
|
|
(Lexmark), Jerry Thrasher (Lexmark), Prasad Yendluri (webMethods,
|
|
Inc.), William Vambenepe (Hewlett-Packard Company), David Booth
|
|
(W3C), Sanjiva Weerawarana (IBM), Asir Vedamuthu (webMethods,
|
|
Inc.), Igor Sedukhin (Computer Associates), Martin Gudgin
|
|
(Microsoft Corporation), Rebecca Bergersen (IONA Technologies), Ugo
|
|
Corda (SeeBeyond).</p>
|
|
<p>The people who have contributed to <a href=
|
|
"http://lists.w3.org/Archives/Public/www-ws-desc/">discussions on
|
|
www-ws-desc@w3.org</a> are also gratefully acknowledged.</p>
|
|
</div>
|
|
<div class="div1">
|
|
<h2><a name="component_summary" id="component_summary"></a>B.
|
|
Component Summary (Non-Normative)</h2>
|
|
<p><a href="#component-summary">Table B-1</a> lists all the
|
|
components in the WSDL 2.0 Adjuncts abstract Component Model, and
|
|
all their properties.</p>
|
|
<a name="component-summary" id="component-summary"></a>
|
|
<table width="100%" border="1">
|
|
<caption>Table B-1. Summary of WSDL 2.0 Adjuncts Components and
|
|
their Properties</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Component</th>
|
|
<th rowspan="1" colspan="1">Defined Properties</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Binding.httpcontentencodingdefault">http content
|
|
encoding default</a>}, {<a href=
|
|
"#property-Binding.httpcookies">http cookies</a>}, {<a href=
|
|
"#property-Binding.httpmethoddefault">http method default</a>},
|
|
{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>}, {<a href=
|
|
"#property-Binding.soapmepdefault">soap mep default</a>}, {<a href=
|
|
"#property-Binding.soapmodules">soap modules</a>}, {<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>}, {<a href="#property-Binding.soapversion">soap
|
|
version</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFault.httpcontentencoding">http content
|
|
encoding</a>}, {<a href=
|
|
"#property-BindingFault.httperrorstatuscode">http error status
|
|
code</a>}, {<a href="#property-BindingFault.httpheaders">http
|
|
headers</a>}, {<a href="#property-BindingFault.soapfaultcode">soap
|
|
fault code</a>}, {<a href=
|
|
"#property-BindingFault.soapfaultsubcodes">soap fault
|
|
subcodes</a>}, {<a href="#property-BindingFault.soapheaders">soap
|
|
headers</a>}, {<a href="#property-BindingFault.soapmodules">soap
|
|
modules</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFaultReference">
|
|
Binding Fault Reference</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingFaultReference.soapmodules">soap
|
|
modules</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>}, {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>},
|
|
{<a href="#property-BindingMessageReference.soapheaders">soap
|
|
headers</a>}, {<a href=
|
|
"#property-BindingMessageReference.soapmodules">soap
|
|
modules</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>}, {<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>},
|
|
{<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>}, {<a href=
|
|
"#property-BindingOperation.httpmethod">http method</a>}, {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>}, {<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>}, {<a href=
|
|
"#property-BindingOperation.soapmep">soap mep</a>}, {<a href=
|
|
"#property-BindingOperation.soapmodules">soap modules</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-Endpoint.httpauthenticationrealm">http authentication
|
|
realm</a>}, {<a href=
|
|
"#property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href="#component-HTTPHeader">HTTP
|
|
Header</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-HTTPHeader.name">name</a>}, {<a href=
|
|
"#property-HTTPHeader.parent">parent</a>}, {<a href=
|
|
"#property-HTTPHeader.required">required</a>}, {<a href=
|
|
"#property-HTTPHeader.typedefinition">type definition</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-InterfaceOperation.rpcsignature">rpc signature</a>},
|
|
{<a href="#property-InterfaceOperation.safe">safe</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href=
|
|
"#component-SOAPHeaderBlock">SOAP Header Block</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>}, {<a href=
|
|
"#property-SOAPHeaderBlock.mustUnderstand">mustUnderstand</a>},
|
|
{<a href="#property-SOAPHeaderBlock.parent">parent</a>}, {<a href=
|
|
"#property-SOAPHeaderBlock.required">required</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a href="#component-SOAPModule">SOAP
|
|
Module</a></td>
|
|
<td rowspan="1" colspan="1">{<a href=
|
|
"#property-SOAPModule.parent">parent</a>}, {<a href=
|
|
"#property-SOAPModule.ref">ref</a>}, {<a href=
|
|
"#property-SOAPModule.required">required</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Property</th>
|
|
<th rowspan="1" colspan="1">Where Defined</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">element declaration</td>
|
|
<td rowspan="1" colspan="1">SOAP Header Block.{<a href=
|
|
"#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http authentication realm</td>
|
|
<td rowspan="1" colspan="1">Endpoint.{<a href=
|
|
"#property-Endpoint.httpauthenticationrealm">http authentication
|
|
realm</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http authentication scheme</td>
|
|
<td rowspan="1" colspan="1">Endpoint.{<a href=
|
|
"#property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http content encoding</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.httpcontentencoding">http content
|
|
encoding</a>}, Binding Message Reference.{<a href=
|
|
"#property-BindingMessageReference.httpcontentencoding">http
|
|
content encoding</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http content encoding default</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.httpcontentencodingdefault">http content
|
|
encoding default</a>}, Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpcontentencodingdefault">http
|
|
content encoding default</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http cookies</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.httpcookies">http cookies</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http error status code</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.httperrorstatuscode">http error status
|
|
code</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http fault serialization</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http headers</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.httpheaders">http headers</a>}, Binding
|
|
Message Reference.{<a href=
|
|
"#property-BindingMessageReference.httpheaders">http
|
|
headers</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http input serialization</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http location</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http location ignore uncited</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http method</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpmethod">http method</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http method default</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.httpmethoddefault">http method default</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http output serialization</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http query parameter separator</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.httpqueryparameterseparator">http query
|
|
parameter separator</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">http query parameter separator
|
|
default</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.httpqueryparameterseparatordefault">http query
|
|
parameter separator default</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">mustUnderstand</td>
|
|
<td rowspan="1" colspan="1">SOAP Header Block.{<a href=
|
|
"#property-SOAPHeaderBlock.mustUnderstand">mustUnderstand</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">name</td>
|
|
<td rowspan="1" colspan="1">HTTP Header.{<a href=
|
|
"#property-HTTPHeader.name">name</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">parent</td>
|
|
<td rowspan="1" colspan="1">HTTP Header.{<a href=
|
|
"#property-HTTPHeader.parent">parent</a>}, SOAP Header
|
|
Block.{<a href="#property-SOAPHeaderBlock.parent">parent</a>}, SOAP
|
|
Module.{<a href="#property-SOAPModule.parent">parent</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">ref</td>
|
|
<td rowspan="1" colspan="1">SOAP Module.{<a href=
|
|
"#property-SOAPModule.ref">ref</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">required</td>
|
|
<td rowspan="1" colspan="1">HTTP Header.{<a href=
|
|
"#property-HTTPHeader.required">required</a>}, SOAP Header
|
|
Block.{<a href="#property-SOAPHeaderBlock.required">required</a>},
|
|
SOAP Module.{<a href=
|
|
"#property-SOAPModule.required">required</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">rpc signature</td>
|
|
<td rowspan="1" colspan="1">Interface Operation.{<a href=
|
|
"#property-InterfaceOperation.rpcsignature">rpc signature</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">safe</td>
|
|
<td rowspan="1" colspan="1">Interface Operation.{<a href=
|
|
"#property-InterfaceOperation.safe">safe</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap action</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.soapaction">soap action</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap fault code</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.soapfaultcode">soap fault code</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap fault subcodes</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.soapfaultsubcodes">soap fault
|
|
subcodes</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap headers</td>
|
|
<td rowspan="1" colspan="1">Binding Fault.{<a href=
|
|
"#property-BindingFault.soapheaders">soap headers</a>}, Binding
|
|
Message Reference.{<a href=
|
|
"#property-BindingMessageReference.soapheaders">soap
|
|
headers</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap mep</td>
|
|
<td rowspan="1" colspan="1">Binding Operation.{<a href=
|
|
"#property-BindingOperation.soapmep">soap mep</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap mep default</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.soapmepdefault">soap mep default</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap modules</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.soapmodules">soap modules</a>}, Binding
|
|
Fault.{<a href="#property-BindingFault.soapmodules">soap
|
|
modules</a>}, Binding Fault Reference.{<a href=
|
|
"#property-BindingFaultReference.soapmodules">soap modules</a>},
|
|
Binding Message Reference.{<a href=
|
|
"#property-BindingMessageReference.soapmodules">soap modules</a>},
|
|
Binding Operation.{<a href=
|
|
"#property-BindingOperation.soapmodules">soap modules</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap underlying protocol</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">soap version</td>
|
|
<td rowspan="1" colspan="1">Binding.{<a href=
|
|
"#property-Binding.soapversion">soap version</a>}</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1">type definition</td>
|
|
<td rowspan="1" colspan="1">HTTP Header.{<a href=
|
|
"#property-HTTPHeader.typedefinition">type definition</a>}</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
<h2><a name="assertionsummary" id="assertionsummary"></a>C.
|
|
Assertion Summary (Non-Normative)</h2>
|
|
<p>This appendix summarizes assertions about WSDL 2.0 documents and
|
|
components that are not enforced by the WSDL 2.0 schema. Each
|
|
assertion is assigned a unique identifier which WSDL 2.0 processors
|
|
may use to report errors.</p>
|
|
<a name="document-assertion-summary" id=
|
|
"document-assertion-summary"></a>
|
|
<table width="100%" border="1">
|
|
<caption>Table C-1. Summary of Assertions about WSDL 2.0
|
|
Documents</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Id</th>
|
|
<th rowspan="1" colspan="1">Assertion</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="OperationSafety-2028-summary"
|
|
href="#OperationSafety-2028" id=
|
|
"OperationSafety-2028-summary">OperationSafety-2028</a></td>
|
|
<td rowspan="1" colspan="1">An OPTIONAL <code>safe</code>
|
|
<em>attribute information item</em> with the following Infoset
|
|
properties:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2050-summary" href=
|
|
"#WRPC-2050" id="WRPC-2050-summary">WRPC-2050</a></td>
|
|
<td rowspan="1" colspan="1">Additionally, each even-numbered item
|
|
(0, 2, 4, ...) in the list MUST be of type <em>xs:QName</em> and
|
|
each odd-numbered item (1, 3, 5, ...) in the list MUST be of the
|
|
subtype of <em>xs:token</em> described in the previous
|
|
paragraph.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<a name="component-assertion-summary" id=
|
|
"component-assertion-summary"></a>
|
|
<table width="100%" border="1">
|
|
<caption>Table C-2. Summary of Assertions about WSDL 2.0
|
|
Components</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Id</th>
|
|
<th rowspan="1" colspan="1">Assertion</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"FaultPropagationModification-2005-summary" href=
|
|
"#FaultPropagationModification-2005" id=
|
|
"FaultPropagationModification-2005-summary">FaultPropagationModification-2005</a></td>
|
|
<td rowspan="1" colspan="1">However, extensions or binding
|
|
extensions MAY modify these rulesets.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPAccessAuthentication-2127-summary" href=
|
|
"#HTTPAccessAuthentication-2127" id=
|
|
"HTTPAccessAuthentication-2127-summary">HTTPAccessAuthentication-2127</a></td>
|
|
<td rowspan="1" colspan="1">If the {<a href=
|
|
"#property-Endpoint.httpauthenticationscheme">http authentication
|
|
scheme</a>} property is present, then this property MUST be
|
|
present.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2083-summary"
|
|
href="#HTTPBinding-2083" id=
|
|
"HTTPBinding-2083-summary">HTTPBinding-2083</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the HTTP message to be
|
|
transmitted, the HTTP request method used MUST be selected using
|
|
one of the following:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2084-summary"
|
|
href="#HTTPBinding-2084" id=
|
|
"HTTPBinding-2084-summary">HTTPBinding-2084</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the HTTP message to be
|
|
transmitted, content encoding for a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> component is determined as
|
|
follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2085-summary"
|
|
href="#HTTPBinding-2085" id=
|
|
"HTTPBinding-2085-summary">HTTPBinding-2085</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the HTTP fault message
|
|
to be transmitted, content encoding for a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component is determined as follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2086-summary"
|
|
href="#HTTPBinding-2086" id=
|
|
"HTTPBinding-2086-summary">HTTPBinding-2086</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the HTTP message to be
|
|
transmitted, the contents of the payload (i.e. the contents of the
|
|
HTTP message body) MUST be what is defined by the corresponding
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> components, serialized as specified by the
|
|
<a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> used.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2087-summary"
|
|
href="#HTTPBinding-2087" id=
|
|
"HTTPBinding-2087-summary">HTTPBinding-2087</a></td>
|
|
<td rowspan="1" colspan="1">If the value is "#none", then the
|
|
payload MUST be empty and the value of the corresponding
|
|
serialization property ({<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>} or {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>}) is ignored.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2088-summary"
|
|
href="#HTTPBinding-2088" id=
|
|
"HTTPBinding-2088-summary">HTTPBinding-2088</a></td>
|
|
<td rowspan="1" colspan="1">If the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component or the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component is declared using a non-XML type
|
|
system (as considered in the Types section of [<cite><a href=
|
|
"#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]), then additional
|
|
binding rules MUST be defined in an extension specification to
|
|
indicate how to map those components into the HTTP envelope.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBinding-2089-summary"
|
|
href="#HTTPBinding-2089" id=
|
|
"HTTPBinding-2089-summary">HTTPBinding-2089</a></td>
|
|
<td rowspan="1" colspan="1">The serialization rules for messages
|
|
whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} is either "#element" or "#any", AND the
|
|
serialization rules for fault messages, are as follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBindingFault-2105-summary"
|
|
href="#HTTPBindingFault-2105" id=
|
|
"HTTPBindingFault-2105-summary">HTTPBindingFault-2105</a></td>
|
|
<td rowspan="1" colspan="1">The fault definition SHOULD agree with
|
|
the definition of the HTTP error codes, as specified in section 8
|
|
of [<cite><a href="#RFC3205">IETF RFC 3205</a></cite>].</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPBindingFault-2106-summary"
|
|
href="#HTTPBindingFault-2106" id=
|
|
"HTTPBindingFault-2106-summary">HTTPBindingFault-2106</a></td>
|
|
<td rowspan="1" colspan="1">An integer value of this property
|
|
identifies the error Status-Code as defined by [<cite><a href=
|
|
"#RFC2616">IETF RFC 2616</a></cite>] that the service will use in
|
|
case the fault is returned.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2093-summary" href=
|
|
"#HTTPBindingOperation-2093" id=
|
|
"HTTPBindingOperation-2093-summary">HTTPBindingOperation-2093</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the HTTP Request, the
|
|
HTTP Request IRI is an absolute IRI reference and is the value of
|
|
the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, resolved using the value of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Endpoint.address">address</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Endpoint">Endpoint</a>
|
|
component (see section 5 of [<cite><a href="#RFC3986">IETF RFC
|
|
3986</a></cite>]).</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2094-summary" href=
|
|
"#HTTPBindingOperation-2094" id=
|
|
"HTTPBindingOperation-2094-summary">HTTPBindingOperation-2094</a></td>
|
|
<td rowspan="1" colspan="1">The first one is transmitted using an
|
|
HTTP request, and the second one is transmitted using the
|
|
corresponding HTTP response.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2095-summary" href=
|
|
"#HTTPBindingOperation-2095" id=
|
|
"HTTPBindingOperation-2095-summary">HTTPBindingOperation-2095</a></td>
|
|
<td rowspan="1" colspan="1">In cases where only one single message
|
|
is being sent, the message body of the HTTP response MUST be
|
|
empty.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2098-summary" href=
|
|
"#HTTPBindingOperation-2098" id=
|
|
"HTTPBindingOperation-2098-summary">HTTPBindingOperation-2098</a></td>
|
|
<td rowspan="1" colspan="1">It MUST contain an IRI reference and
|
|
MUST NOT include a fragment identifier component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2100-summary" href=
|
|
"#HTTPBindingOperation-2100" id=
|
|
"HTTPBindingOperation-2100-summary">HTTPBindingOperation-2100</a></td>
|
|
<td rowspan="1" colspan="1">The value of the <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> used for a message is a media type which MUST be covered
|
|
by this range.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPBindingOperation-2101-summary" href=
|
|
"#HTTPBindingOperation-2101" id=
|
|
"HTTPBindingOperation-2101-summary">HTTPBindingOperation-2101</a></td>
|
|
<td rowspan="1" colspan="1">Wild cards (for example,
|
|
"application/*") SHOULD NOT be used in this <em>attribute
|
|
information item</em> since they may lead to interoperability
|
|
problems.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPCookies-2126-summary"
|
|
href="#HTTPCookies-2126" id=
|
|
"HTTPCookies-2126-summary">HTTPCookies-2126</a></td>
|
|
<td rowspan="1" colspan="1">A value of "true" means that the
|
|
service relies on cookies and that the client MUST understand
|
|
them.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2090-summary" href=
|
|
"#HTTPHeader-2090" id=
|
|
"HTTPHeader-2090-summary">HTTPHeader-2090</a></td>
|
|
<td rowspan="1" colspan="1">If the {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property as defined in section <a href=
|
|
"#http-headers-decl"><strong>6.6 Declaring HTTP
|
|
Headers</strong></a> exists and is not empty in a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> or <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component, HTTP headers conforming to each
|
|
<a href="#component-HTTPHeader">HTTP Header</a> component contained
|
|
in this {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property MAY be serialized as follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2091-summary" href=
|
|
"#HTTPHeader-2091" id=
|
|
"HTTPHeader-2091-summary">HTTPHeader-2091</a></td>
|
|
<td rowspan="1" colspan="1">The HTTP binding MUST NOT set an HTTP
|
|
header field corresponding to the value of the {<a href=
|
|
"#property-HTTPHeader.name">name</a>} property already set by
|
|
another mechanism, such as the HTTP stack or another feature.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2092-summary" href=
|
|
"#HTTPHeader-2092" id=
|
|
"HTTPHeader-2092-summary">HTTPHeader-2092</a></td>
|
|
<td rowspan="1" colspan="1">If the value of an <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> component's {<a href=
|
|
"#property-HTTPHeader.required">required</a>} property is "true",
|
|
the inclusion of this HTTP header field is REQUIRED</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2102-summary" href=
|
|
"#HTTPHeader-2102" id=
|
|
"HTTPHeader-2102-summary">HTTPHeader-2102</a></td>
|
|
<td rowspan="1" colspan="1">A <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingMessageReference">
|
|
Binding Message Reference</a> or a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingFault">
|
|
Binding Fault</a> component's {<a href=
|
|
"#property-BindingMessageReference.httpheaders">http headers</a>}
|
|
property MUST NOT contain multiple <a href=
|
|
"#component-HTTPHeader">HTTP Header</a> components with the same
|
|
{<a href="#property-HTTPHeader.name">name</a>} property.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2103-summary" href=
|
|
"#HTTPHeader-2103" id=
|
|
"HTTPHeader-2103-summary">HTTPHeader-2103</a></td>
|
|
<td rowspan="1" colspan="1">This type MUST be a simple type.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPHeader-2104-summary" href=
|
|
"#HTTPHeader-2104" id=
|
|
"HTTPHeader-2104-summary">HTTPHeader-2104</a></td>
|
|
<td rowspan="1" colspan="1">If the value is "true", then the HTTP
|
|
header field MUST be included in the message.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPQueryString-2115-summary"
|
|
href="#HTTPQueryString-2115" id=
|
|
"HTTPQueryString-2115-summary">HTTPQueryString-2115</a></td>
|
|
<td rowspan="1" colspan="1">The <a title="instance data" href=
|
|
"#instance_data">instance data</a> MUST NOT contain elements with
|
|
an <code>xs:nil</code> attribute whose value is "true".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="HTTPQueryString-2116-summary"
|
|
href="#HTTPQueryString-2116" id=
|
|
"HTTPQueryString-2116-summary">HTTPQueryString-2116</a></td>
|
|
<td rowspan="1" colspan="1">When serializing an HTTP request that
|
|
does not allow an HTTP message body, and when {<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} is "true", any element NOT cited in
|
|
the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property MUST be defined in the schema as
|
|
<code>nillable</code>, or have a <code>default</code> value, or
|
|
appear no less frequently than specified by the
|
|
<code>minOccurs</code> value. The element declaration SHOULD NOT
|
|
combine a default value with <code>nillable</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2099-summary" href="#HTTPSerialization-2099" id=
|
|
"HTTPSerialization-2099-summary">HTTPSerialization-2099</a></td>
|
|
<td rowspan="1" colspan="1">The value of the {<a href=
|
|
"#property-BindingOperation.httpinputserialization">http input
|
|
serialization</a>}, {<a href=
|
|
"#property-BindingOperation.httpoutputserialization">http output
|
|
serialization</a>} and {<a href=
|
|
"#property-BindingOperation.httpfaultserialization">http fault
|
|
serialization</a>} properties is similar to the value allowed for
|
|
the <code>Accept</code> HTTP header defined by the HTTP 1.1
|
|
specification, Section 14.1 (see [<cite><a href="#RFC2616">IETF RFC
|
|
2616</a></cite>]) and MUST follow the production rules defined in
|
|
that section except for the following:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2106-summary" href="#HTTPSerialization-2106" id=
|
|
"HTTPSerialization-2106-summary">HTTPSerialization-2106</a></td>
|
|
<td rowspan="1" colspan="1">The {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property MUST conform to the following EBNF [<cite><a href=
|
|
"#EBNF">ISO/IEC 14977:1996</a></cite>] grammar, which represents
|
|
the patterns for constructing the request IRI:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2107-summary" href="#HTTPSerialization-2107" id=
|
|
"HTTPSerialization-2107-summary">HTTPSerialization-2107</a></td>
|
|
<td rowspan="1" colspan="1">If the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> bound has a value of
|
|
"http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>, and if
|
|
the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component is present, the value of the
|
|
{<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property component is used as a template</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2108-summary" href="#HTTPSerialization-2108" id=
|
|
"HTTPSerialization-2108-summary">HTTPSerialization-2108</a></td>
|
|
<td rowspan="1" colspan="1">The resulting IRI MUST be mapped to an
|
|
URI for use in the HTTP Request as per section 3.1 "Mapping of IRIs
|
|
to URIs" of the IRI specification [<cite><a href="#RFC3987">IETF
|
|
RFC 3987</a></cite>].</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2109-summary" href="#HTTPSerialization-2109" id=
|
|
"HTTPSerialization-2109-summary">HTTPSerialization-2109</a></td>
|
|
<td rowspan="1" colspan="1">The local name in a template SHOULD
|
|
match at least one element from the <a title="instance data" href=
|
|
"#instance_data">instance data</a> of the input message.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2111-summary" href="#HTTPSerialization-2111" id=
|
|
"HTTPSerialization-2111-summary">HTTPSerialization-2111</a></td>
|
|
<td rowspan="1" colspan="1">If this format is used then the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.style">style</a>}
|
|
property of <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component being bound MUST contain a value
|
|
of "http://www.w3.org/ns/wsdl/style/iri" as defined in <a href=
|
|
"#_operation_iri_style"><strong>4.2 IRI Style</strong></a>, i.e.
|
|
this serialization format may only be used to serialize the HTTP
|
|
request corresponding to the initial message of an interface
|
|
operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2112-summary" href="#HTTPSerialization-2112" id=
|
|
"HTTPSerialization-2112-summary">HTTPSerialization-2112</a></td>
|
|
<td rowspan="1" colspan="1">For the HTTP binding defined in this
|
|
section (<a href="#http-binding"><strong>6. WSDL HTTP Binding
|
|
Extension</strong></a>), "application/x-www-form-urlencoded" MAY be
|
|
used as a <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> for an input
|
|
message (HTTP Request), but MUST NOT be used as a <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> for an output or fault message (HTTP Response).</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2113-summary" href="#HTTPSerialization-2113" id=
|
|
"HTTPSerialization-2113-summary">HTTPSerialization-2113</a></td>
|
|
<td rowspan="1" colspan="1">If not all elements from the <a title=
|
|
"instance data" href="#instance_data">instance data</a> are cited
|
|
in the {<a href="#property-BindingOperation.httplocation">http
|
|
location</a>} property, or if the property is not present on the
|
|
<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component, then additional serialization
|
|
rules apply.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2114-summary" href="#HTTPSerialization-2114" id=
|
|
"HTTPSerialization-2114-summary">HTTPSerialization-2114</a></td>
|
|
<td rowspan="1" colspan="1">For elements of the instance data not
|
|
cited in the {<a href=
|
|
"#property-BindingOperation.httplocation">http location</a>}
|
|
property, a query string is constructed as follows.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2117-summary" href="#HTTPSerialization-2117" id=
|
|
"HTTPSerialization-2117-summary">HTTPSerialization-2117</a></td>
|
|
<td rowspan="1" colspan="1">If the HTTP request method used does
|
|
not allow HTTP message body (e.g. "GET" and "DELETE"), and if the
|
|
value of the {<a href=
|
|
"#property-BindingOperation.httplocationignoreuncited">http
|
|
location ignore uncited</a>} property is "false", then the
|
|
following rules apply.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2118-summary" href="#HTTPSerialization-2118" id=
|
|
"HTTPSerialization-2118-summary">HTTPSerialization-2118</a></td>
|
|
<td rowspan="1" colspan="1">If the HTTP request method used does
|
|
allow an HTTP message body (e.g. "POST" and "PUT"), then the
|
|
following rules apply.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2119-summary" href="#HTTPSerialization-2119" id=
|
|
"HTTPSerialization-2119-summary">HTTPSerialization-2119</a></td>
|
|
<td rowspan="1" colspan="1">The <code>Content-Type</code> HTTP
|
|
header field must have the value
|
|
<code>application/x-www-form-urlencoded</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2120-summary" href="#HTTPSerialization-2120" id=
|
|
"HTTPSerialization-2120-summary">HTTPSerialization-2120</a></td>
|
|
<td rowspan="1" colspan="1">The <code>Content-Type</code> HTTP
|
|
header MUST have the value <code>application/xml</code>
|
|
[<cite><a href="#RFC3023">IETF RFC 3023</a></cite>], or a media
|
|
type compatible with <code>application/xml</code> as specified in
|
|
section <a href="#_http_ser_xml"><strong>6.4.3.1 Serialization
|
|
rules for XML messages</strong></a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2121-summary" href="#HTTPSerialization-2121" id=
|
|
"HTTPSerialization-2121-summary">HTTPSerialization-2121</a></td>
|
|
<td rowspan="1" colspan="1">this serialization format may only be
|
|
used to serialize the HTTP request corresponding to the initial
|
|
message of an interface operation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2122-summary" href="#HTTPSerialization-2122" id=
|
|
"HTTPSerialization-2122-summary">HTTPSerialization-2122</a></td>
|
|
<td rowspan="1" colspan="1">Specifically, for the HTTP binding
|
|
defined in this section (<a href="#http-binding"><strong>6. WSDL
|
|
HTTP Binding Extension</strong></a>), "multipart/form-data" MAY be
|
|
used as a <a title="serialization format" href=
|
|
"#serialization_format">serialization format</a> for an input
|
|
message (HTTP Request), but MUST NOT be used as a <a title=
|
|
"serialization format" href="#serialization_format">serialization
|
|
format</a> for an output or fault message (HTTP Response).</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2123-summary" href="#HTTPSerialization-2123" id=
|
|
"HTTPSerialization-2123-summary">HTTPSerialization-2123</a></td>
|
|
<td rowspan="1" colspan="1">The <code>Content-Disposition</code>
|
|
header MUST have the value <code>form-data</code>, and its
|
|
<code>name</code> parameter is the local name of the element.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2124-summary" href="#HTTPSerialization-2124" id=
|
|
"HTTPSerialization-2124-summary">HTTPSerialization-2124</a></td>
|
|
<td rowspan="1" colspan="1">The <code>Content-Type</code> header
|
|
MUST have the value:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2125-summary" href="#HTTPSerialization-2125" id=
|
|
"HTTPSerialization-2125-summary">HTTPSerialization-2125</a></td>
|
|
<td rowspan="1" colspan="1">The <a title="instance data" href=
|
|
"#instance_data">instance data</a> MUST NOT contain elements with
|
|
an <code>xs:nil</code> attribute whose value is "true".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2051-summary" href=
|
|
"#IRIStyle-2051" id="IRIStyle-2051-summary">IRIStyle-2051</a></td>
|
|
<td rowspan="1" colspan="1">When using this style, the value of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component corresponding to the
|
|
initial message of the message exchange pattern MUST be
|
|
"#element".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2052-summary" href=
|
|
"#IRIStyle-2052" id="IRIStyle-2052-summary">IRIStyle-2052</a></td>
|
|
<td rowspan="1" colspan="1">The sequence MUST only contain
|
|
elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2053-summary" href=
|
|
"#IRIStyle-2053" id="IRIStyle-2053-summary">IRIStyle-2053</a></td>
|
|
<td rowspan="1" colspan="1">The sequence MUST contain only local
|
|
element children.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2054-summary" href=
|
|
"#IRIStyle-2054" id="IRIStyle-2054-summary">IRIStyle-2054</a></td>
|
|
<td rowspan="1" colspan="1">The localPart of the element's QName
|
|
MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.name">name</a>}.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2055-summary" href=
|
|
"#IRIStyle-2055" id="IRIStyle-2055-summary">IRIStyle-2055</a></td>
|
|
<td rowspan="1" colspan="1">The complex type that defines the body
|
|
of the element or its children elements MUST NOT contain any
|
|
attributes.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="IRIStyle-2056-summary" href=
|
|
"#IRIStyle-2056" id="IRIStyle-2056-summary">IRIStyle-2056</a></td>
|
|
<td rowspan="1" colspan="1">The children elements of the sequence
|
|
MUST derive from <code>xs:simpleType</code>, and MUST NOT be of the
|
|
type or derive from <code>xs:QName</code>,
|
|
<code>xs:NOTATION</code>, <code>xs:hexBinary</code> or
|
|
<code>xs:base64Binary</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"InOnlyComposition-2012-summary" href="#InOnlyComposition-2012" id=
|
|
"InOnlyComposition-2012-summary">InOnlyComposition-2012</a></td>
|
|
<td rowspan="1" colspan="1">The <code>in-only</code> message
|
|
exchange pattern consists of exactly one message as follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="InOutComposition-2015-summary"
|
|
href="#InOutComposition-2015" id=
|
|
"InOutComposition-2015-summary">InOutComposition-2015</a></td>
|
|
<td rowspan="1" colspan="1">The <code>in-out</code> message
|
|
exchange pattern consists of exactly two messages, in order, as
|
|
follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"InterfaceOperation-2096-summary" href="#InterfaceOperation-2096"
|
|
id=
|
|
"InterfaceOperation-2096-summary">InterfaceOperation-2096</a></td>
|
|
<td rowspan="1" colspan="1">202 when the MEP is
|
|
"http://www.w3.org/ns/wsdl/in-only"</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"InterfaceOperation-2097-summary" href="#InterfaceOperation-2097"
|
|
id=
|
|
"InterfaceOperation-2097-summary">InterfaceOperation-2097</a></td>
|
|
<td rowspan="1" colspan="1">204 when the MEP is
|
|
"http://www.w3.org/ns/wsdl/robust-in-only"</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2057-summary"
|
|
href="#MultipartStyle-2057" id=
|
|
"MultipartStyle-2057-summary">MultipartStyle-2057</a></td>
|
|
<td rowspan="1" colspan="1">When using this style, the value of the
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component corresponding to the
|
|
initial message of the message exchange pattern MUST be
|
|
"#element".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2058-summary"
|
|
href="#MultipartStyle-2058" id=
|
|
"MultipartStyle-2058-summary">MultipartStyle-2058</a></td>
|
|
<td rowspan="1" colspan="1">The sequence MUST only contain
|
|
elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2059-summary"
|
|
href="#MultipartStyle-2059" id=
|
|
"MultipartStyle-2059-summary">MultipartStyle-2059</a></td>
|
|
<td rowspan="1" colspan="1">The sequence MUST contain only local
|
|
element children.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2060-summary"
|
|
href="#MultipartStyle-2060" id=
|
|
"MultipartStyle-2060-summary">MultipartStyle-2060</a></td>
|
|
<td rowspan="1" colspan="1">The attributes <code>minOccurs</code>
|
|
and <code>maxOccurs</code> for these child elements MUST have a
|
|
value <code>1</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2061-summary"
|
|
href="#MultipartStyle-2061" id=
|
|
"MultipartStyle-2061-summary">MultipartStyle-2061</a></td>
|
|
<td rowspan="1" colspan="1">The localPart of the element's QName
|
|
MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.name">name</a>}.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2062-summary"
|
|
href="#MultipartStyle-2062" id=
|
|
"MultipartStyle-2062-summary">MultipartStyle-2062</a></td>
|
|
<td rowspan="1" colspan="1">The complex type that defines the body
|
|
of the element or its children elements MUST NOT contain any
|
|
attributes.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MultipartStyle-2063-summary"
|
|
href="#MultipartStyle-2063" id=
|
|
"MultipartStyle-2063-summary">MultipartStyle-2063</a></td>
|
|
<td rowspan="1" colspan="1">The sequence MUST NOT contain multiple
|
|
children element declared with the same local name.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="OperationSafety-2027-summary"
|
|
href="#OperationSafety-2027" id=
|
|
"OperationSafety-2027-summary">OperationSafety-2027</a></td>
|
|
<td rowspan="1" colspan="1">However, an operation SHOULD be marked
|
|
safe if it meets the criteria for a safe interaction defined in
|
|
Section 3.4 of [<cite><a href="#webarch">Web
|
|
Architecture</a></cite>].</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2029-summary" href=
|
|
"#RPCStyle-2029" id="RPCStyle-2029-summary">RPCStyle-2029</a></td>
|
|
<td rowspan="1" colspan="1">If the RPC style is used by an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component then its {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property MUST have the value either
|
|
"http://www.w3.org/ns/wsdl/in-only" or
|
|
"http://www.w3.org/ns/wsdl/in-out".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2030-summary" href=
|
|
"#RPCStyle-2030" id="RPCStyle-2030-summary">RPCStyle-2030</a></td>
|
|
<td rowspan="1" colspan="1">The value of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.messagecontentmodel">message
|
|
content model</a>} property for the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> components of the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.interfacemessagereferences">interface
|
|
message references</a>} property MUST be "#element".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2031-summary" href=
|
|
"#RPCStyle-2031" id="RPCStyle-2031-summary">RPCStyle-2031</a></td>
|
|
<td rowspan="1" colspan="1">The content model of input and output
|
|
{<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} elements MUST be defined using a complex type that
|
|
contains a sequence from XML Schema.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2032-summary" href=
|
|
"#RPCStyle-2032" id="RPCStyle-2032-summary">RPCStyle-2032</a></td>
|
|
<td rowspan="1" colspan="1">The input sequence MUST only contain
|
|
elements and element wildcards.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2033-summary" href=
|
|
"#RPCStyle-2033" id="RPCStyle-2033-summary">RPCStyle-2033</a></td>
|
|
<td rowspan="1" colspan="1">The input sequence MUST NOT contain
|
|
more than one element wildcard.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2034-summary" href=
|
|
"#RPCStyle-2034" id="RPCStyle-2034-summary">RPCStyle-2034</a></td>
|
|
<td rowspan="1" colspan="1">The element wildcard, if present, MUST
|
|
appear after any elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2035-summary" href=
|
|
"#RPCStyle-2035" id="RPCStyle-2035-summary">RPCStyle-2035</a></td>
|
|
<td rowspan="1" colspan="1">The output sequence MUST only contain
|
|
elements.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2036-summary" href=
|
|
"#RPCStyle-2036" id="RPCStyle-2036-summary">RPCStyle-2036</a></td>
|
|
<td rowspan="1" colspan="1">Both the input and output sequences
|
|
MUST contain only local element children.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2037-summary" href=
|
|
"#RPCStyle-2037" id="RPCStyle-2037-summary">RPCStyle-2037</a></td>
|
|
<td rowspan="1" colspan="1">The local name of input element's QName
|
|
MUST be the same as the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's name.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2038-summary" href=
|
|
"#RPCStyle-2038" id="RPCStyle-2038-summary">RPCStyle-2038</a></td>
|
|
<td rowspan="1" colspan="1">Input and output elements MUST both be
|
|
in the same namespace.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2039-summary" href=
|
|
"#RPCStyle-2039" id="RPCStyle-2039-summary">RPCStyle-2039</a></td>
|
|
<td rowspan="1" colspan="1">The complex type that defines the body
|
|
of an input or an output element MUST NOT contain any local
|
|
attributes.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2040-summary" href=
|
|
"#RPCStyle-2040" id="RPCStyle-2040-summary">RPCStyle-2040</a></td>
|
|
<td rowspan="1" colspan="1">If elements with the same qualified
|
|
name appear as children of both the input and output elements, then
|
|
they MUST both be declared using the same named type.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="RPCStyle-2041-summary" href=
|
|
"#RPCStyle-2041" id="RPCStyle-2041-summary">RPCStyle-2041</a></td>
|
|
<td rowspan="1" colspan="1">The input or output sequence MUST NOT
|
|
contain multiple children elements declared with the same
|
|
name.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"RobustInOnlyComposition-2013-summary" href=
|
|
"#RobustInOnlyComposition-2013" id=
|
|
"RobustInOnlyComposition-2013-summary">RobustInOnlyComposition-2013</a></td>
|
|
<td rowspan="1" colspan="1">The <code>robust-in-only</code> message
|
|
exchange pattern consists of exactly one message as follows:</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPAction-2075-summary" href=
|
|
"#SOAPAction-2075" id=
|
|
"SOAPAction-2075-summary">SOAPAction-2075</a></td>
|
|
<td rowspan="1" colspan="1">A <em>xs:anyURI</em>, which is an
|
|
absolute IRI as defined by [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>], to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2065-summary"
|
|
href="#SOAPBinding-2065" id=
|
|
"SOAPBinding-2065-summary">SOAPBinding-2065</a></td>
|
|
<td rowspan="1" colspan="1">When formulating the SOAP envelope to
|
|
be transmitted, the contents of the payload (i.e., the contents of
|
|
the SOAP Body <em>element information item</em> of the SOAP
|
|
envelope) MUST be what is defined by the corresponding <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2068-summary"
|
|
href="#SOAPBinding-2068" id=
|
|
"SOAPBinding-2068-summary">SOAPBinding-2068</a></td>
|
|
<td rowspan="1" colspan="1">If the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component is declared using a
|
|
non-XML type system (as considered in the Types section of
|
|
[<cite><a href="#WSDL-PART1">WSDL 2.0 Core Language</a></cite>]),
|
|
then additional binding rules MUST be defined to indicate how to
|
|
map those components into the SOAP envelope.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2069-summary"
|
|
href="#SOAPBinding-2069" id=
|
|
"SOAPBinding-2069-summary">SOAPBinding-2069</a></td>
|
|
<td rowspan="1" colspan="1">Every SOAP binding MUST indicate what
|
|
version of SOAP is in use for the operations of the interface that
|
|
this binding applies to.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2070-summary"
|
|
href="#SOAPBinding-2070" id=
|
|
"SOAPBinding-2070-summary">SOAPBinding-2070</a></td>
|
|
<td rowspan="1" colspan="1">Every SOAP binding MUST indicate what
|
|
underlying protocol is in use.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBindingFault-2071-summary"
|
|
href="#SOAPBindingFault-2071" id=
|
|
"SOAPBindingFault-2071-summary">SOAPBindingFault-2071</a></td>
|
|
<td rowspan="1" colspan="1">For every <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component contained in an <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Interface">
|
|
Interface</a> component, a mapping to a SOAP Fault MUST be
|
|
described.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBindingFault-2072-summary"
|
|
href="#SOAPBindingFault-2072" id=
|
|
"SOAPBindingFault-2072-summary">SOAPBindingFault-2072</a></td>
|
|
<td rowspan="1" colspan="1">when the value of the {<a href=
|
|
"#property-Binding.soapversion">soap version</a>} is "1.2", the
|
|
allowed QNames MUST be the ones defined by [<cite><a href=
|
|
"#SOAP12-PART1">SOAP 1.2 Part 1: Messaging Framework (Second
|
|
Edition)</a></cite>], section 5.4.6</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"SOAPHTTPProperties-2064-summary" href="#SOAPHTTPProperties-2064"
|
|
id=
|
|
"SOAPHTTPProperties-2064-summary">SOAPHTTPProperties-2064</a></td>
|
|
<td rowspan="1" colspan="1">These properties MUST NOT be used
|
|
unless the underlying protocol is HTTP.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"SOAPHTTPSelection-2082-summary" href="#SOAPHTTPSelection-2082" id=
|
|
"SOAPHTTPSelection-2082-summary">SOAPHTTPSelection-2082</a></td>
|
|
<td rowspan="1" colspan="1">This default binding rule is applicable
|
|
when the value of the {<a href=
|
|
"#property-Binding.soapunderlyingprotocol">soap underlying
|
|
protocol</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component is "http://www.w3.org/2003/05/soap/bindings/HTTP/". If
|
|
the SOAP MEP selected as specified above has the value
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" then the
|
|
HTTP method used is "POST". If the SOAP MEP selected has the value
|
|
"http://www.w3.org/2003/05/soap/mep/soap-response/" then the HTTP
|
|
method used is "GET".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPHeaderBlock-2077-summary"
|
|
href="#SOAPHeaderBlock-2077" id=
|
|
"SOAPHeaderBlock-2077-summary">SOAPHeaderBlock-2077</a></td>
|
|
<td rowspan="1" colspan="1">When its value is "true", the SOAP
|
|
header block MUST be decorated with a SOAP
|
|
<code>mustUnderstand</code> <em>attribute information item</em>
|
|
with a value of "true"; if so, the XML element declaration
|
|
referenced by the {<a href=
|
|
"#property-SOAPHeaderBlock.elementdeclaration">element
|
|
declaration</a>} property MUST allow this SOAP
|
|
<code>mustUnderstand</code> <em>attribute information
|
|
item</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPHeaderBlock-2078-summary"
|
|
href="#SOAPHeaderBlock-2078" id=
|
|
"SOAPHeaderBlock-2078-summary">SOAPHeaderBlock-2078</a></td>
|
|
<td rowspan="1" colspan="1">If the value is "true", then the SOAP
|
|
header block MUST be included in the message.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPHeaderBlock-2079-summary"
|
|
href="#SOAPHeaderBlock-2079" id=
|
|
"SOAPHeaderBlock-2079-summary">SOAPHeaderBlock-2079</a></td>
|
|
<td rowspan="1" colspan="1">The value of the <code>element</code>
|
|
<em>attribute information item</em> MUST resolve to a global
|
|
element declaration from the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-Description.elementdeclarations">element
|
|
declarations</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Description">
|
|
Description</a> component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPMEP-2074-summary" href=
|
|
"#SOAPMEP-2074" id="SOAPMEP-2074-summary">SOAPMEP-2074</a></td>
|
|
<td rowspan="1" colspan="1">A <em>xs:anyURI</em>, which is an
|
|
absolute IRI as defined by [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>], to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPMEPDefault-2073-summary"
|
|
href="#SOAPMEPDefault-2073" id=
|
|
"SOAPMEPDefault-2073-summary">SOAPMEPDefault-2073</a></td>
|
|
<td rowspan="1" colspan="1">A <em>xs:anyURI</em>, which is an
|
|
absolute IRI as defined by [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>], to the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPMEPSelection-2080-summary"
|
|
href="#SOAPMEPSelection-2080" id=
|
|
"SOAPMEPSelection-2080-summary">SOAPMEPSelection-2080</a></td>
|
|
<td rowspan="1" colspan="1">For a given <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component, if there is a <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-BindingOperation">
|
|
Binding Operation</a> component whose {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-BindingOperation.interfaceoperation">interface
|
|
operation</a>} property matches the component in question and its
|
|
{<a href="#property-BindingOperation.soapmep">soap mep</a>}
|
|
property has a value, then the SOAP MEP is the value of the
|
|
{<a href="#property-BindingOperation.soapmep">soap mep</a>}
|
|
property. Otherwise, the SOAP MEP is the value of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-Binding">Binding</a>
|
|
component's {<a href="#property-Binding.soapmepdefault">soap mep
|
|
default</a>}, if any. Otherwise, the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceOperation">
|
|
Interface Operation</a> component's {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceOperation.messageexchangepattern">message
|
|
exchange pattern</a>} property MUST have the value
|
|
"http://www.w3.org/ns/wsdl/in-out", and the SOAP MEP is the URI
|
|
"http://www.w3.org/2003/05/soap/mep/request-response/" identifying
|
|
the SOAP Request-Response Message Exchange Pattern as defined in
|
|
[<cite><a href="#SOAP12-PART2">SOAP 1.2 Part 2: Adjuncts (Second
|
|
Edition)</a></cite>].</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPModule-2076-summary" href=
|
|
"#SOAPModule-2076" id=
|
|
"SOAPModule-2076-summary">SOAPModule-2076</a></td>
|
|
<td rowspan="1" colspan="1">A <em>xs:anyURI</em>, which is an
|
|
absolute IRI as defined by [<cite><a href="#RFC3987">IETF RFC
|
|
3987</a></cite>].</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2042-summary" href=
|
|
"#WRPC-2042" id="WRPC-2042-summary">WRPC-2042</a></td>
|
|
<td rowspan="1" colspan="1">OPTIONAL, but MUST be present when the
|
|
style is RPC</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2043-summary" href=
|
|
"#WRPC-2043" id="WRPC-2043-summary">WRPC-2043</a></td>
|
|
<td rowspan="1" colspan="1">Values for the second component MUST be
|
|
chosen among the following four: "#in", "#out", "#inout"
|
|
"#return".</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2044-summary" href=
|
|
"#WRPC-2044" id="WRPC-2044-summary">WRPC-2044</a></td>
|
|
<td rowspan="1" colspan="1">The value of the first component of
|
|
each pair <em>(q, t)</em> MUST be unique within the list.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2045-summary" href=
|
|
"#WRPC-2045" id="WRPC-2045-summary">WRPC-2045</a></td>
|
|
<td rowspan="1" colspan="1">For each child element of the input and
|
|
output messages of the operation, a pair <em>(q, t)</em>, whose
|
|
first component <em>q</em> is equal to the qualified name of that
|
|
element, MUST be present in the list, with the caveat that elements
|
|
that appear with cardinality greater than one MUST be treated as a
|
|
single element.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2046-summary" href=
|
|
"#WRPC-2046" id="WRPC-2046-summary">WRPC-2046</a></td>
|
|
<td rowspan="1" colspan="1">For each pair <em>(q, #in)</em>, there
|
|
MUST be a child element of the input element with a name of
|
|
<em>q</em>. There MUST NOT be a child element of the output element
|
|
with the name of <em>q</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2047-summary" href=
|
|
"#WRPC-2047" id="WRPC-2047-summary">WRPC-2047</a></td>
|
|
<td rowspan="1" colspan="1">For each pair <em>(q, #out)</em>, there
|
|
MUST be a child element of the output element with a name of
|
|
<em>q</em>. There MUST NOT be a child element of the input element
|
|
with the name of <em>q</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2048-summary" href=
|
|
"#WRPC-2048" id="WRPC-2048-summary">WRPC-2048</a></td>
|
|
<td rowspan="1" colspan="1">For each pair <em>(q, #inout)</em>,
|
|
there MUST be a child element of the input element with a name of
|
|
<em>q</em>. There MUST also be a child element of the output
|
|
element with the name of <em>q</em>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="WRPC-2049-summary" href=
|
|
"#WRPC-2049" id="WRPC-2049-summary">WRPC-2049</a></td>
|
|
<td rowspan="1" colspan="1">For each pair <em>(q, #return)</em>,
|
|
there MUST be a child element of the output element with a name of
|
|
<em>q</em>. There MUST NOT be a child element of the input element
|
|
with the name of <em>q</em>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<a name="message-assertion-summary" id=
|
|
"message-assertion-summary"></a>
|
|
<table width="100%" border="1">
|
|
<caption>Table C-3. Summary of Assertions about Messages</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Id</th>
|
|
<th rowspan="1" colspan="1">Assertion</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"HTTPSerialization-2110-summary" href="#HTTPSerialization-2110" id=
|
|
"HTTPSerialization-2110-summary">HTTPSerialization-2110</a></td>
|
|
<td rowspan="1" colspan="1">Cited elements (i.e. elements
|
|
referenced in templates) MUST NOT carry an <code>xs:nil</code>
|
|
attribute whose value is "true"</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"SOAP12Binding-SOAPDetail-2081-summary" href=
|
|
"#SOAP12Binding-SOAPDetail-2081" id=
|
|
"SOAP12Binding-SOAPDetail-2081-summary">SOAP12Binding-SOAPDetail-2081</a></td>
|
|
<td rowspan="1" colspan="1">If any, the value of the SOAP "Detail"
|
|
element MUST be the <em>element information item</em> identified by
|
|
the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceFault">
|
|
Interface Fault</a> component.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2066-summary"
|
|
href="#SOAPBinding-2066" id=
|
|
"SOAPBinding-2066-summary">SOAPBinding-2066</a></td>
|
|
<td rowspan="1" colspan="1">If the value is "#none", then the
|
|
payload MUST be empty.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="SOAPBinding-2067-summary"
|
|
href="#SOAPBinding-2067" id=
|
|
"SOAPBinding-2067-summary">SOAPBinding-2067</a></td>
|
|
<td rowspan="1" colspan="1">If the value is "#element", then the
|
|
payload MUST be the <em>element information item</em> identified by
|
|
the {<a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#property-InterfaceMessageReference.elementdeclaration">element
|
|
declaration</a>} property of the <a href=
|
|
"http://www.w3.org/TR/2007/REC-wsdl20-20070626#component-InterfaceMessageReference">
|
|
Interface Message Reference</a> component.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br />
|
|
<a name="exchange-assertion-summary" id=
|
|
"exchange-assertion-summary"></a>
|
|
<table width="100%" border="1">
|
|
<caption>Table C-4. Summary of Assertions about Message
|
|
Exchanges</caption>
|
|
<col width="20%" span="1" />
|
|
<col width="80%" span="1" />
|
|
<tbody>
|
|
<tr>
|
|
<th rowspan="1" colspan="1">Id</th>
|
|
<th rowspan="1" colspan="1">Assertion</th>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="FaultDelivery-2008-summary"
|
|
href="#FaultDelivery-2008" id=
|
|
"FaultDelivery-2008-summary">FaultDelivery-2008</a></td>
|
|
<td rowspan="1" colspan="1">The fault message MUST be delivered to
|
|
the same target node as the message it replaces, unless otherwise
|
|
specified by an extension or binding extension. If there is no path
|
|
to this node, the fault MUST be discarded.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="FaultDelivery-2010-summary"
|
|
href="#FaultDelivery-2010" id=
|
|
"FaultDelivery-2010-summary">FaultDelivery-2010</a></td>
|
|
<td rowspan="1" colspan="1">The fault message MUST be delivered to
|
|
the originator of the triggering message, unless otherwise
|
|
specified by an extension or binding extension. Any node MAY
|
|
propagate a fault message, and MUST NOT do so more than once for
|
|
each triggering message. If there is no path to the originator, the
|
|
fault MUST be discarded.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="FaultPropagation-2003-summary"
|
|
href="#FaultPropagation-2003" id=
|
|
"FaultPropagation-2003-summary">FaultPropagation-2003</a></td>
|
|
<td rowspan="1" colspan="1">Nodes that generate faults MUST attempt
|
|
to propagate the faults in accordance with the governing ruleset,
|
|
but it is understood that any delivery of a network message is best
|
|
effort, not guaranteed.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="FaultPropagation-2004-summary"
|
|
href="#FaultPropagation-2004" id=
|
|
"FaultPropagation-2004-summary">FaultPropagation-2004</a></td>
|
|
<td rowspan="1" colspan="1">When a fault is generated, the
|
|
generating node MUST attempt to propagate the fault, and MUST do so
|
|
in the direction and to the recipient specified by the
|
|
ruleset.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"FaultReplacesMessage-2007-summary" href=
|
|
"#FaultReplacesMessage-2007" id=
|
|
"FaultReplacesMessage-2007-summary">FaultReplacesMessage-2007</a></td>
|
|
<td rowspan="1" colspan="1">When the Fault Replaces Message
|
|
propagation rule is in effect, any message after the first in the
|
|
pattern MAY be replaced with a fault message, which MUST have
|
|
identical direction.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="InOnlyFaults-2013-summary"
|
|
href="#InOnlyFaults-2013" id=
|
|
"InOnlyFaults-2013-summary">InOnlyFaults-2013</a></td>
|
|
<td rowspan="1" colspan="1">The <code>in-only</code> message
|
|
exchange pattern uses the rule <a href="#no-fault"><strong>2.2.3 No
|
|
Faults propagation rule</strong></a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="InOutFaults-2016-summary"
|
|
href="#InOutFaults-2016" id=
|
|
"InOutFaults-2016-summary">InOutFaults-2016</a></td>
|
|
<td rowspan="1" colspan="1">The <code>in-out</code> message
|
|
exchange pattern uses the rule <a href=
|
|
"#fault-replacement"><strong>2.2.1 Fault Replaces Message
|
|
propagation rule</strong></a>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"MEPDescriptiveness-2002-summary" href="#MEPDescriptiveness-2002"
|
|
id=
|
|
"MEPDescriptiveness-2002-summary">MEPDescriptiveness-2002</a></td>
|
|
<td rowspan="1" colspan="1">by some prior agreement, another node
|
|
and/or the service MAY send messages (to each other or to other
|
|
nodes) that are not described by the pattern.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="MEPTermination-2006-summary"
|
|
href="#MEPTermination-2006" id=
|
|
"MEPTermination-2006-summary">MEPTermination-2006</a></td>
|
|
<td rowspan="1" colspan="1">Generation of a fault, regardless of
|
|
ruleset, terminates the exchange.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"MessageTriggersFault-2009-summary" href=
|
|
"#MessageTriggersFault-2009" id=
|
|
"MessageTriggersFault-2009-summary">MessageTriggersFault-2009</a></td>
|
|
<td rowspan="1" colspan="1">When the Message Triggers Fault
|
|
propagation rule is in effect, any message, including the first in
|
|
the pattern, MAY trigger a fault message, which MUST have opposite
|
|
direction.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="NoFaults-2011-summary" href=
|
|
"#NoFaults-2011" id="NoFaults-2011-summary">NoFaults-2011</a></td>
|
|
<td rowspan="1" colspan="1">When the No Faults propagation rule is
|
|
in effect, faults MUST NOT be propagated.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name="NodeIdentity-2001-summary"
|
|
href="#NodeIdentity-2001" id=
|
|
"NodeIdentity-2001-summary">NodeIdentity-2001</a></td>
|
|
<td rowspan="1" colspan="1">A node MAY be accessible via more than
|
|
one physical address or transport.</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="1" colspan="1"><a name=
|
|
"RobustInOnlyFaults-2014-summary" href="#RobustInOnlyFaults-2014"
|
|
id=
|
|
"RobustInOnlyFaults-2014-summary">RobustInOnlyFaults-2014</a></td>
|
|
<td rowspan="1" colspan="1">The <code>robust in-only</code> message
|
|
exchange pattern uses the rule <a href=
|
|
"#fault-trigger"><strong>2.2.2 Message Triggers Fault propagation
|
|
rule</strong></a>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<br /></div>
|
|
</body>
|
|
</html>
|