Assert Yourself!

Arthur Ryman, IBM
Last Updated 2006-04-18

[Introduction] | [How To] | [Review Assignments]

Introduction

This document describes how to add testable assertions to the WSDL 2.0 specifications and assigns sections to members of the Working Group. The task of identifying all the testable assertions is very important since it will help us create a comprehensive test suite. It will also help implementers produce high quality implementations.

What is a Testable Assertion?

A testable assertion is a normative requirement in our specifications that can be checked by a validation program. Testable assertions should include one of the RFC 2119 keyowrds. Initially, we should focus on the keywords MUST, MUST NOT, SHALL, SHALL NOT, and REQUIRED since these are map to error conditions. We should also address the keywords SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL since these map to warnings and we want users of the specification to follow Best Practices.

How Do I Markup a Testable Assertion?

We have defined a special XML tag: <assert> that is placed around the testable assertion. Here's an example:

       	<assert class="document" id="Import-0001">
       		However, any WSDL 2.0 document that contains component
       		definitions that refer by QName to WSDL 2.0 components
       		that belong to a different namespace MUST contain a
       		<el>wsdl:import</el>
       		&EII;
       		for that namespace (see
       		<specref ref="imports" />
       		).</assert>
This tag has the following attributes:

Review Assignments

Editor Id Range Part Section Completed
Arthur 1100000 1 1. Introduction 2006-02-16
Arthur 1200000 1 2. Component Model 2006-02-26
Arthur 1201000 1 2.1 Description 2006-02-26
Roberto 1202000 1 2.2 Interface 2006-02-24
Roberto 1203000 1 2.3 Interface Fault 2006-02-24
Roberto 1204000 1 2.4 Interface Operation 2006-02-24
Roberto 1205000 1 2.5 Interface Message Reference 2006-02-24
Roberto 1206000 1 2.6 Interface Fault Reference 2006-02-24
Glen 1207000 1 2.7 Feature
Glen 1208000 1 2.8 Property
Jonathan 1209000 1 2.9 Binding
Jonathan 1210000 1 2.10 Binding Fault
Jonathan 1211000 1 2.11 Binding Operation
Jonathan 1212000 1 2.12 Binding Message Reference
Jonathan 1213000 1 2.13 Binding Fault Reference
Jean-Jacques 1214000 1 2.14 Service 2006-03-10
Jean-Jacques 1215000 1 2.15 Endpoint 2006-03-10
Youenn 1216000 1 2.16 XML Schema 1.0 Simple Types Used in the Component Model 2006-03-16
Youenn 1217000 1 2.17 Equivalence of Components 2006-03-16
Youenn 1218000 1 2.18 Symbol Spaces 2006-03-16
Youenn 1219000 1 2.19 QName resolution 2006-03-16
Youenn 1220000 1 2.20 Comparing URIs and IRIs 2006-03-16
Roberto 1300000 1 3. Types 2006-02-24
Arthur 1400000 1 4. Modularizing WSDL 2.0 descriptions 2006-02-26
Arthur 1500000 1 5. Documentation 2006-02-26
Arthur 1600000 1 6. Language Extensibility 2006-02-26
Arthur 1700000 1 7. Locating WSDL 2.0 Documents 2006-02-26
Arthur 1800000 1 8. Conformance 2006-02-26
Arthur 1900000 1 A. The application/wsdl+xml Media Type 2006-02-26
Amy 2100000 2 1. Introduction 2006-02-28
Amy 2200000 2 2. Predefined Message Exchange Patterns 2006-02-28
Amy 2300000 2 3. Predefined Extensions 2006-02-28
Umit 2400000 2 4. Predefined Operation Styles
Charlton 2500000 2 5. WSDL SOAP Binding Extension
Charlton 2501000 2 5.1 XML Syntax Summary (Non-Normative)
Charlton 2502000 2 5.2 Identifying the use of the SOAP Binding
Charlton 2503000 2 5.3 SOAP Binding Rules
Charlton 2504000 2 5.4 Specifying the SOAP Version
Charlton 2505000 2 5.5 Specifying the SOAP Underlying Protocol
Charlton 2506000 2 5.6 Binding Faults
Charlton 2507000 2 5.7 Binding Operations
Charlton 2508000 2 5.8 Declaring SOAP Modules
Charlton 2509000 2 5.9 Declaring SOAP Header Blocks
Charlton 2510000 2 5.10 WSDL SOAP 1.2 Binding
Charlton 2511000 2 5.11 Conformance
Hugo 2600000 2 6. WSDL HTTP Binding Extension 2006-02-09
Hugo 2601000 2 6.1 Identifying the use of the HTTP Binding 2006-02-09
Hugo 2602000 2 6.2 HTTP Syntax Summary (Non-Normative) 2006-02-09
Hugo 2603000 2 6.3 HTTP Binding Rules 2006-02-09
Hugo 2604000 2 6.4 Specifying the HTTP Version 2006-02-09
Hugo 2605000 2 6.5 Binding Operations 2006-02-09
Hugo 2606000 2 6.6 Declaring HTTP Headers 2006-02-09
Hugo 2607000 2 6.7 Specifying HTTP Error Code for Faults 2006-02-09
Hugo 2608000 2 6.8 Serialization Format of Instance Data 2006-02-09
Hugo 2609000 2 6.9 Specifying the Transfer Coding 2006-02-09
Hugo 2610000 2 6.10 Specifying the Use of HTTP Cookies 2006-02-09
Hugo 2611000 2 6.11 Specifying HTTP Access Authentication 2006-02-09
Hugo 2612000 2 6.12 Conformance 2006-02-09