<?xml version="1.0" encoding="us-ascii"?>
<!--
/*
 * Copyright (c) 2003 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C(r) Document License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
 */
    --><!-- $Id: wsdl12-patterns.xml,v 1.5 2003/06/10 12:19:06 plehegar Exp $ --><?xml-stylesheet type='text/xsl' href='xmlspec-wsdl.xsl' ?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2//EN" "http://www.w3.org/2002/xmlspec/dtd/2.2/xmlspec.dtd">
<spec xmlns:xlink="http://www.w3.org/1999/xlink" w3c-doctype="wd" role="public">

<header>
  <title>Web Services Description Language (WSDL) Version 1.2 Part 2:
  Message Patterns</title>
  <w3c-designation>http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611</w3c-designation>
  <w3c-doctype>W3C Working Draft</w3c-doctype>
  <pubdate>
    <day>11</day>
    <month>June</month>
    <year>2003</year>
  </pubdate>

  <publoc>
    <loc xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611">http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611</loc>
  </publoc>
  <altlocs>
	<loc role="postscript" href="http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611/wsdl12-patterns.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">postscript</loc>
	<loc role="pdf" href="http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611/wsdl12-patterns.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PDF</loc>
	<loc role="xml" href="http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611/wsdl12-patterns.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XML</loc>
	<loc role="plain" href="http://www.w3.org/TR/2003/WD-wsdl12-patterns-20030611/wsdl12-patterns.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">plain text</loc>
    </altlocs>
  <latestloc>
    <loc xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.w3.org/TR/wsdl12-patterns">http://www.w3.org/TR/wsdl12-patterns</loc>
  </latestloc>


  <authlist>
    <author>
      <name>Martin Gudgin</name>
      <affiliation>Microsoft</affiliation>
    </author>
    <author>
      <name>Amy Lewis</name>
      <affiliation>TIBCO</affiliation>
    </author>
    <author>
      <name>Jeffrey Schlimmer</name>
      <affiliation>Microsoft</affiliation>
    </author>
  </authlist>

    <abstract id="Abstract">
      <p>
	This document describes Web Services Description Language
	(WSDL) Version 1.2 message patterns. These 
	patterns are intended for use with the Web Services Description
	Language (WSDL).
      </p>
    </abstract>    
    
<status id="Status">
  <p>
    <emph>This section describes the status of this document at the time
    of its publication. Other documents may supersede this document. The
    latest status of this document series is maintained at the
    W3C.</emph>
  </p>

  <p>
    This is the first <loc href="http://www.w3.org/Consortium/Process-20010719/tr.html#RecsWD" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C
    Working Draft</loc> of the WSDL Version 1.2 Message Patterns
    specification for review by W3C members and other interested
    parties.
  </p>

  <p>
    This document has been produced as part of the <loc href="http://www.w3.org/2002/ws/Activity.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Web Services
    Activity</loc>. The authors of this document are the Web Services
    Description Working Group members.
  </p>
  <p>
    This is a draft document and may be updated, replaced or obsoleted
    by other documents at any time. It is inappropriate to use W3C
    Working Drafts as reference material or to cite them as other than
    "work in progress". This is work in progress and does not imply
    endorsement by, or the consensus of, either W3C or members of the
    Web Services Description Working Group.
  </p>
  <p>
    Comments on this document are invited and are to be sent to <loc href="mailto:public-ws-desc-comments@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public-ws-desc-comments@w3.org</loc>
    (<loc href="http://lists.w3.org/Archives/Public/public-ws-desc-comments/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
    archive</loc>). It is inappropriate to send discussion emails to
    this address.  Discussion of this document takes place on the public
    <loc href="mailto:www-ws-desc@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">www-ws-desc@w3.org</loc>
    mailing list (<loc href="http://lists.w3.org/Archives/Public/www-ws-desc/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
    archive</loc>).
  </p>
  <p>
    Patent disclosures relevant to this specification may be found on
    the Working Group's <loc href="http://www.w3.org/2002/ws/desc/2/04/24-IPR-statements.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">patent
    disclosure page</loc>.
  </p>
  <p>
    A list of <loc href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">current W3C
    Recommendations and other technical documents</loc> can be found at
    http://www.w3.org/TR.
  </p>
</status>


  <langusage>
    <language id="en">English</language>
  </langusage>
  <revisiondesc>
    <p>Last Modified: $Date: 2003/06/10 12:19:06 $</p>
  </revisiondesc>
</header>

<!-- ******************************************************************* -->

<body>

<div1 id="intro">
<head>Introduction</head>

<p>Web Services Description Language (WSDL) message patterns
define the sequence, direction, and cardinality of abstract messages
sent or received by an operation.
</p>

<p>
By design, WSDL message patterns abstract out specific message types;
placeholders for messages identified by the pattern are associated with specific
message types by the operation using the pattern.
</p>
<p>
Unless explicitly stated otherwise,
WSDL message patterns also abstract out binding-specific information like timing between messages,
whether the pattern is synchronous or asynchronous,
and whether the message are sent over a single or multiple channels.
</p>

<p>This specification defines several message patterns for
use with <emph>WSDL Version 1.2 Part 1: Core Language</emph> <bibref ref="WSDL-PART1"/>.</p>

<div2 id="notation">
<head>Notational Conventions</head>

<p>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
   this document are to be interpreted as described in RFC 2119
   <bibref ref="RFC2119"/>.</p>
</div2>

</div1>

<div1 id="patterns">
<head>Message Patterns</head>

<p>WSDL patterns are described in terms of the WSDL component model, specifically the message reference and fault reference components.
</p>

<ednote id="pattern-review">
  <name>Pattern Review</name>
  <date>5 March 2003</date>
  <edtext>The working group plans to review the message patterns herein
and eliminate those that are have not demonstrated to be useful
(for example, supported by a binding with two interoperable implementations).
  </edtext>
</ednote>

<div2 id="in-only">
<head>In-Only</head>
<p>This pattern consists of exactly one message as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'in'.</p></item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/in-only'.</p>
</div2>

<div2 id="in-out">
<head>In-Out</head>
<p>This pattern consists of exactly two messages, in order, as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'in'.</p></item>
<item><p>One of the following:</p>
  <ulist>
    <item><p>A message indicated by a message reference whose {name} is 'B' and {direction} is 'out', or</p></item>
    <item><p>A message indicated by a fault reference whose {name} is 'C' and {direction} is 'out'.</p></item>
  </ulist>
</item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/in-out'.</p>
</div2>

<div2 id="request-response">
<head>Request-Response</head>
<p>This pattern is identical to <loc href="#in-out" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">In-Out</loc> with the following exception:</p>
<ulist>
<item><p>Any message with {direction} 'out' is sent on the same channel as
the message with {direction} 'in'.</p></item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/request-response'.</p>
</div2>

<div2 id="in-multi-out">
<head>In-Multi-Out</head>
<p>This pattern consists of one or more messages, in order, as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'in'.</p></item>
<item><p>Zero or more messages indicated by a message reference whose {name} is 'B' and {direction} is 'out'.</p></item>
<item><p>An optional message indicated by a fault reference whose {name} is 'C' and {direction} is 'out'.</p></item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/in-multi-out'.</p>
</div2>

<div2 id="out-only">
<head>Out-Only</head>
<p>This pattern consists of exactly one message as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'out'.</p></item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/out-only'.</p>
</div2>

<div2 id="out-in">
<head>Out-In</head>
<p>This pattern consists of exactly two messages, in order, as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'out'.</p></item>
<item><p>One of the following:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'B' and {direction} is 'in', or</p></item>
<item><p>A message indicated by a fault reference whose {name} is 'C' and {direction} is 'in'.</p></item>
</ulist>
</item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/out-in'.</p>
</div2>

<div2 id="out-multi-in">
<head>Out-Multi-In</head>
<p>This pattern consists of one or more messages, in order, as follows:</p>
<ulist>
<item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'out'.</p></item>
<item><p>Zero or more messages indicated by a message reference whose {name} is 'B' and {direction} is 'in'.</p></item>
<item><p>An optional message indicated by a fault reference whose {name} is 'C' and {direction} is 'in'.</p></item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/out-multi-in'.</p>
</div2>

<div2 id="multicast-solicit-response">
<head>Multicast-Solicit-Response</head>
<p>This pattern consists of one or more messages, in sequence as follows:</p>
<ulist>
  <item><p>A message indicated by a message reference whose {name} is 'A' and {direction} is 'out',</p></item>
  <item><p>Zero or more messages, each of which is in one of the following sequences:</p>
  <ulist>
    <item><p>One or two messages, in sequence as follows:</p>
      <ulist>
        <item><p>A message indicated by a message reference whose {name} is 'B' and {direction} is 'in',</p></item>
        <item><p>A message indicated by a fault reference whose {name} is 'D' and {direction} is 'out'.</p></item>
      </ulist>
    </item>
    <item><p>A message indicated by a fault reference whose {name} is 'C' and {direction} is 'in'.</p></item>
  </ulist>
  </item>
</ulist>
<p>An operation using this message pattern has a {pattern} property with the value 'http://www.w3.org/2003/06/wsdl/multicast-solicit-response'.</p>
</div2>


</div1>

<div1 id="References">
<head>References</head>
    <div2 id="Normative-References">
	<head>Normative References</head>

        <blist>
	  <bibl id="RFC2119" key="IETF RFC 2119" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.ietf.org/rfc/rfc2119.txt">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Key words for use in RFCs to Indicate Requirement
	    Levels</titleref>, S. Bradner, Author. Internet Engineering
	    Task Force, June 1999. Available at
	    http://www.ietf.org/rfc/rfc2119.txt.
	  </bibl>
	  <bibl key="WSDL 1.2 Core Language" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.w3.org/TR/2003/WD-wsdl12-20030611" id="WSDL-PART1">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Description (WSDL) Version 1.2 Part 1:
	    Core Language</titleref>, R.Chinnici, M.Gudgin, J-J. Moreau, S.Weerawarana
	    Editors. World Wide Web Consortium, 11
	    June 2003. This version of the "Web Services
	    Description Version 1.2 Part 1: Core Language" Specification is available
	    is available at http://www.w3.org/TR/2003/WD-wsdl12-20030611. The <loc href="http://www.w3.org/TR/wsdl12" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of "Web Services
	    Description Version 1.2 Part 1: Core Language"</loc> is available at
	    http://www.w3.org/TR/wsdl12.
	  </bibl>

        </blist>

      </div2>

      <div2 id="Informative-References">
 	<head>Informative References</head>

	<blist>
	  
	  <bibl key="WSD Requirements" href="http://www.w3.org/TR/2002/WD-ws-desc-reqs-20021028" id="WSDReqs" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest"> <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Description
	    Requirements</titleref>, J. Schlimmer, Editor. World Wide
	    Web Consortium, 28 October 2002. This version of the Web
	    Services Description Requirements document is
	    http://www.w3.org/TR/2002/WD-ws-desc-reqs-20021028. The <loc href="http://www.w3.org/TR/ws-desc-reqs/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    Web Services Description Requirements</loc> is available at
	    http://www.w3.org/TR/ws-desc-reqs.
	  </bibl>

	</blist>

      </div2>

</div1>

</body>

<!-- ******************************************************************* -->
<!-- ******************************************************************* -->

<!-- ******************************************************************* -->
<!-- ******************************************************************* -->

<back>

    <inform-div1 id="acknowledgments">
      <head>Acknowledgements</head>

      <p>This document is the work of the W3C Web
      Service Description Working Group.</p>

      <p>Members of the Working Group are (at the time of writing, and by
      alphabetical order): Adi Sakala (IONA Technologies),
Alan Davies (SeeBeyond),
Allen Brookes (Rogue Wave Softwave),
Amelia Lewis (TIBCO/Extensibility),
Arthur Ryman (IBM),
Bijan Parsia (University of Maryland),
Dale Moberg (Cyclone Commerce),
Dan Kulp (IONA Technologies),
David Booth (W3C),
Dietmar Gaertner (Software AG),
Don Mullen (TIBCO Software),
Erik Ackerman (Lexmark),
Glen Daniels (Macromedia),
Igor Sedukhin (Computer Associates),
Ingo Melzer (DaimlerChrysler Research and Technology),
Jacek Kopecky (Systinet),
Jean-Jacques Moreau (Canon),
Jeff Mischkinsky (Oracle Corporation),
Jeffrey Schlimmer (Microsoft Corporation),
Jerry Thrasher (Lexmark),
Jim Hendler (University of Maryland),
Johan Pauhlsson (L'Échangeur),
Jonathan Marsh (<emph>Chair</emph>, Microsoft Corporation),
Kevin Canyang Liu (SAP),
Laurent De Teneuille (L'Échangeur),
Lily Liu (webMethods, Inc.),
Martin Gudgin (Microsoft Corporation),
Michael Champion (Software AG),
Michael Mahan (Nokia),
Michael Mealling (Verisign),
Mike Ballantyne (Electronic Data Systems),
Mike Davoren (W. W. Grainger),
Mike McHugh (W. W. Grainger),
Philippe Le Hégaret (W3C),
Prasad Yendluri (webMethods, Inc.),
Roberto Chinnici (Sun Microsystems),
Sandeep Kumar (Cisco Systems),
Sandra Swearingen (U.S. Department of Defense, U.S. Air Force),
Sanjiva Weerawarana (IBM),
Steve Graham (Global Grid Forum),
Steve Lind (AT&amp;T),
Steve Tuecke (Global Grid Forum),
Tom Jordahl (Macromedia),
Umit Yalcinalp (Oracle Corporation),
Waqar Sadiq (Electronic Data Systems),
William Vambenepe (Hewlett-Packard Company),
Youenn Fablet (Canon)
</p>

      <p>Previous members were: Aaron Skonnard (DevelopMentor),
Don Wright (Lexmark),
Barbara Zengler (DaimlerChrysler Research and Technology),
Jochen Ruetschlin (DaimlerChrysler Research and Technology),
Joyce Yang (Oracle Corporation),
Keith Ballinger (Microsoft),
Krishna Sankar (Cisco Systems),
Mario Jeckle (DaimlerChrysler Research and Technology),
Pallavi Malu (Intel Corporation),
William Stumbo (Xerox),
Daniel Schutzer (Citigroup),
Dave Solo (Citigroup),
Stefano Pogliani (Sun Microsystems),
Stephen White (SeeBeyond),
Tim Finin (University of Maryland)
</p>

<p>The people who have contributed to discussions on
<loc href="mailto:www-ws-desc@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">www-ws-desc@w3.org</loc>
are also gratefully acknowledged.</p>

    </inform-div1>

    <inform-div1 id="changelog">
      <head>Change Log</head>

      <div2 id="wsdl-changelog">
	<head>Changes</head>

<table id="wsdl-changelog-table" border="1">
  <tbody>
    <tr>
      <th rowspan="1" colspan="1">Date</th>
      <th rowspan="1" colspan="1">Author</th>
      <th rowspan="1" colspan="1">Description</th>
    </tr>
	<tr>
	  <td rowspan="1" colspan="1">20030313</td>
	  <td rowspan="1" colspan="1">MJG</td>
	  <td rowspan="1" colspan="1">Changed to Part 2 ( from Part 3 )
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030306</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Proposed name for MEP7.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030305</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Per 4 Mar 03 meeting,
		renamed 'message exchange pattern' to 'message pattern' or 'pattern',
		added pattern for request-response,
		added ednote about review of patterns.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030217</td>
	  <td rowspan="1" colspan="1">MJG</td>
	  <td rowspan="1" colspan="1">Fixed some issues with entities and validity errors
	  WRT ulists</td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030212</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Initial draft</td>
	</tr>
  </tbody>
</table>

      </div2>
    </inform-div1>

  </back>

</spec>