WS-I

Attachments Profile [1.0] (with Basic Profile [1.1] and Simple Soap Binding Profile [1.0]) Test Assertions Version 1.0

Final Material

June 13, 2005

Editors:

David Lauzon, IBM Corporation (lauzond@ca.ibm.com)

Shrikant Wagh, Optimyz Software, Inc. (shrikant@optimyz.com)

Other Contributors

Simeon Greene (Oracle Corporation), Narendra Patil (Optimyz Software, Inc.), Keith Stobie (Microsoft Corporation)

Administrative contact:

secretary@ws-i.org


Abstract

This document contains the test assertions for the WS-I Attachments Profile 1.0 combined with the test assertions for the WS-I Simple Soap Binding Profile 1.0 and WS-I Basic Profile 1.1. These test assertions are used by the analyzer testing tool to determine if a Web service is conformant to the Attachments Profile 1.0 in conjunction with the Simple Soap Binding Profile 1.0 and the Basic Profile 1.1.

A "candidate" element is one that is to be verified for conformance. The binding of the tModel if <wsi-analyzerConfig:uddiReference> is given or the <wsi-analyzerConfig:wsdlElement> in the configuration file of the Analyzer define a candidate element for verification. A verification on an element also implies that the same verification is made for all the elements that it uses. That is, the elements it uses also become candidate elements. Verification it based on the following transitivity rules, applied recursively.

For WSDL element references:

For UDDI references:

The analyzer specification contains a detailed explanation of all of the fields listed in this document.

Notice

The material contained herein is not a license, either expressly or impliedly, to any intellectual property owned or controlled by any of the authors or developers of this material or WS-I. The material contained herein is provided on an "AS IS" basis and to the maximum extent permitted by applicable law, this material is provided AS IS AND WITH ALL FAULTS, and the authors and developers of this material and WS-I hereby disclaim all other warranties and conditions, either express, implied or statutory, including, but not limited to, any (if any) implied warranties, duties or conditions of merchantability, of fitness for a particular purpose, of accuracy or completeness of responses, of results, of workmanlike effort, of lack of viruses, and of lack of negligence. ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THIS MATERIAL.

IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR WS-I BE LIABLE TO ANY OTHER PARTY FOR THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS MATERIAL, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.

Feedback

The Web Services-Interoperability Organization (WS-I) would like to receive input, suggestions and other feedback ("Feedback") on this work from a wide variety of industry participants to improve its quality over time.

By sending email, or otherwise communicating with WS-I, you (on behalf of yourself if you are an individual, and your company if you are providing Feedback on behalf of the company) will be deemed to have granted to WS-I, the members of WS-I, and other parties that have access to your Feedback, a non-exclusive, non-transferable, worldwide, perpetual, irrevocable, royalty-free license to use, disclose, copy, license, modify, sublicense or otherwise distribute and exploit in any manner whatsoever the Feedback you provide regarding the work. You acknowledge that you have no expectation of confidentiality with respect to any Feedback you provide. You represent and warrant that you have rights to provide this Feedback, and if you are providing Feedback on behalf of a company, you represent and warrant that you have the rights to provide Feedback on behalf of your company. You also acknowledge that WS-I is not required to review, discuss, use, consider or in any way incorporate your Feedback into future versions of its work. If WS-I does incorporate some or all of your Feedback in a future version of the work, it may, but is not obligated to include your name (or, if you are identified as acting on behalf of your company, the name of your company) on a list of contributors to the work. If the foregoing is not acceptable to you and any company on whose behalf you are acting, please do not provide any Feedback.

WS-I members should direct feedback on this document to wsi_testing@lists.ws-i.org; non-members should direct feedback to wsi-tools@ws-i.org.

NOTE

Test assertion headings that have this background color are disabled and will not be processed by the analyzer.


Table of Contents

Profile Definitions
Test Assertion Artifacts
discovery
description
message
envelope
Test Assertion Counts
Profile Requirements Index
Appendix A: Referenced Specifications


Profile Definitions

ID

Name

Version

Revision

Location

AP1

Attachments Profile

1.0

Final Material

http://ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html

BP11

Basic Profile

1.1

Final Material

http://ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html

SSBP1

Simple Soap Binding Profile

1.0

Final Material

http://ws-i.org/Profiles/SimpleSoapBindingProfile-1.0-2004-08-24.html


Test Assertion Artifacts


Profile Artifact: discovery

The Basic Profile requires support for UDDI V2.0.

Specification Reference List:


Test Assertions [as they appear in the document]:

ID

Entry Type

Test Type

Enabled

BP3001

tModel

required

true

BP3002

bindingTemplate

required

true

BP3003

tModel

required

true

BP5998

tModel

driverTestable

false

Test Assertions [sorted by ID]:

ID

Entry Type

Test Type

Enabled

BP3001

tModel

required

true

BP3002

bindingTemplate

required

true

BP3003

tModel

required

true

BP5998

tModel

driverTestable

false


Test Assertion: BP3001

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

tModel

required

true

 

definitions

[Not specified]

R3002
R3010
R3011

 

 

 

Context:
For a candidate uddi:tModel

Assertion Description:
The uddi:tModel element uses WSDL as the description language and the uddi:tModel contains a reference to a WSDL binding. The uddi:overviewDoc/uddi:overviewURL element contains a reference to a WSDL definition, which uses a namespace of http://schemas.xmlsoap.org/wsdl/. The uddi:overviewURL may use the fragment notation to resolve to a specific wsdl:binding.

Failure Message:
The uddi:tModel does not reference a WSDL based Web service definition or the uddi:tModel does not reference a wsdl:binding.

Failure Detail Description:
{tModel key}{uddi:overviewDoc}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP3002

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

bindingTemplate

required

true

 

 

[Not specified]

R3100

 

 

 

Context:
For a candidate uddi:bindingTemplate

Assertion Description:
The uddi:bindingTemplate element contains a uddi:accessPoint element, with a non-empty value.

Failure Message:
The uddi:bindingTemplate does not contain an uddi:accessPoint element, or it is empty.

Failure Detail Description:
bindingTemplate key

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP3003

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

tModel

required

true

 

 

[Not specified]

R3003

 

 

 

Context:
For a candidate uddi:tModel

Assertion Description:
The uddi:tModel is categorized using the uddi:types taxonomy, as "wsdlSpec": the uddi:keyedReference element has a tModelKey attribute value equal to "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4" and a keyValue attribute value equal to "wsdlSpec".

Failure Message:
The uddi:tModel is not categorized using the uddi:types taxonomy with a categorization of "wsdlSpec".

Failure Detail Description:
{tModel key}{categoryBag}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP5998

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

tModel

driverTestable

false

 

 

[Not specified]

 

 

 

 

Context:
Driver testable.

Assertion Description:
Driver testable.

Failure Message:

Failure Detail Description:

Comments:
All of these profile requirements are testable only by using a driver test program, since a test assertion would require application-level knowledge of the message exchange.

 

Return to top of document.


Profile Artifact: description

The Basic Profile requires support for XML Schema 1.0 and WSDL 1.1.

Specification Reference List:


Test Assertions [as they appear in the document]:

ID

Entry Type

Test Type

Enabled

BP2201

definitions

required

true

BP2202

types

required

true

BP2700

definitions

required

true

BP2102

types

required

true

BP2011

types

required

true

BP2701

definitions

required

true

BP2703

definitions

required

true

BP2034

definitions

recommended

true

BP2018

definitions

required

true

BP2208

operation

required

true

BP2010

portType

required

true

BP2020

binding

required

true

BP2021

binding

required

true

BP2402

binding

required

true

BP2022

binding

required

true

BP2032

binding

required

true

BP2404

binding

required

true

BP2012

binding

required

true

BP2406

binding

required

true

BP2019

binding

required

true

BP2013

binding

required

true

BP2014

operation

required

true

BP2017

binding

required

true

BP2101

definitions

required

true

BP2098

import

required

true

BP2803

import

required

true

BP2103

definitions

required

true

BP2104

definitions

required

true

BP2105

definitions

required

true

BP2416

definitions

required

true

BP2417

definitions

required

true

BP2107

types

required

true

BP2108

types

required

true

BP2110

types

recommended

true

BP2111

binding

required

true

BP2112

binding

required

true

BP2113

binding

required

true

BP2115

message

required

true

BP2116

message

required

true

BP2117

binding

required

true

BP2118

binding

required

true

BP2114

binding

recommended

true

BP2119

binding

required

true

BP2120

binding

required

true

BP2122

types

required

true

BP2123

definitions

recommended

true

BP4200

definitions

informational

true

BP4201

definitions

informational

true

BP4202

types

informational

true

BP2998

definitions

driverTestable

false

BP2999

definitions

notTestable

false

SSBP2209

binding

recommended

false

SSBP2403

binding

required

false

SSBP2999

definitions

notTestable

false

AP2901

binding

required

true

AP2903

binding

required

true

AP2904

binding

required

true

AP2906

binding

required

true

AP2907

binding

required

true

AP2908

binding

required

true

AP2909

binding

required

true

AP2910

binding

required

true

AP2911

binding

required

true

AP2930

binding

required

true

AP2940

binding

recommended

true

AP2941

binding

recommended

true

AP2944

binding

required

true

AP2946

binding

required

true

AP2998

definitions

driverTestable

false

AP2997

definitions

notTestable

false

Test Assertions [sorted by ID]:

ID

Entry Type

Test Type

Enabled

AP2901

binding

required

true

AP2903

binding

required

true

AP2904

binding

required

true

AP2906

binding

required

true

AP2907

binding

required

true

AP2908

binding

required

true

AP2909

binding

required

true

AP2910

binding

required

true

AP2911

binding

required

true

AP2930

binding

required

true

AP2940

binding

recommended

true

AP2941

binding

recommended

true

AP2944

binding

required

true

AP2946

binding

required

true

AP2997

definitions

notTestable

false

AP2998

definitions

driverTestable

false

BP2010

portType

required

true

BP2011

types

required

true

BP2012

binding

required

true

BP2013

binding

required

true

BP2014

operation

required

true

BP2017

binding

required

true

BP2018

definitions

required

true

BP2019

binding

required

true

BP2020

binding

required

true

BP2021

binding

required

true

BP2022

binding

required

true

BP2032

binding

required

true

BP2034

definitions

recommended

true

BP2098

import

required

true

BP2101

definitions

required

true

BP2102

types

required

true

BP2103

definitions

required

true

BP2104

definitions

required

true

BP2105

definitions

required

true

BP2107

types

required

true

BP2108

types

required

true

BP2110

types

recommended

true

BP2111

binding

required

true

BP2112

binding

required

true

BP2113

binding

required

true

BP2114

binding

recommended

true

BP2115

message

required

true

BP2116

message

required

true

BP2117

binding

required

true

BP2118

binding

required

true

BP2119

binding

required

true

BP2120

binding

required

true

BP2122

types

required

true

BP2123

definitions

recommended

true

BP2201

definitions

required

true

BP2202

types

required

true

BP2208

operation

required

true

BP2402

binding

required

true

BP2404

binding

required

true

BP2406

binding

required

true

BP2416

definitions

required

true

BP2417

definitions

required

true

BP2700

definitions

required

true

BP2701

definitions

required

true

BP2703

definitions

required

true

BP2803

import

required

true

BP2998

definitions

driverTestable

false

BP2999

definitions

notTestable

false

BP4200

definitions

informational

true

BP4201

definitions

informational

true

BP4202

types

informational

true

SSBP2209

binding

recommended

false

SSBP2403

binding

required

false

SSBP2999

definitions

notTestable

false


Test Assertion: BP2201

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R4003

 

 

 

Context:
For a candidate Web service definition within a WSDL document with a XML declaration statement.

Assertion Description:
The XML declaration statement uses UTF-8 or UTF-16 for the encoding.

Failure Message:
XML declaration statement within WSDL document does not use expected encoding (UTF-8 or UTF-16).

Failure Detail Description:
XML declaration statement.

Comments:
checks WSDL encoding.

 

Return to top of document.

Test Assertion: BP2202

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

[Not specified]

R2010

 

 

 

Context:
For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.

Assertion Description:
The imported schema uses UTF-8 or UTF-16 for the encoding.

Failure Message:
The XML declaration statement within the imported XML Schema does not use expected encoding (UTF-8 or UTF-16).

Failure Detail Description:
XML declaration statement.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2700

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R4004

 

R0001

 

Context:
For a candidate wsdl:definitions element within a WSDL document.

Assertion Description:
The wsdl:definitions is a well-formed XML 1.0 document.

Failure Message:
The wsdl:definitions is not a well-formed XML 1.0 document.

Failure Detail Description:
Error message from the XML parser

Comments:
1st step in a 3-phase verification process: XML+namespace+schemavalid.

 

Return to top of document.

Test Assertion: BP2102

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

[Not specified]

R2002
R2004

 

 

 

Context:
For a candidate wsdl:types element, with XML schema import elements

Assertion Description:
Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL).

Failure Message:
An XML schema import element references something other than an XML schema definition: the referenced element does not have "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element.

Failure Detail Description:
Defective XML schema import element.

Comments:
NOTE: XML schema definitions within a WSDL document must adhere to the same rules as XML schema definitions which appear in separate XSD files. For example, two WSDL definitions can not contain the same complex type definition for the same targetNamespace.

 

Return to top of document.

Test Assertion: BP2011

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

BP2102

R2011

 

 

 

Context:
For a candidate wsdl:types element within a WSDL document, which imports an XML schema directly or indirectly

Assertion Description:
The imported XML schema is a well-formed XML 1.0 document and if it contains an XML declaration, it is version 1.0.

Failure Message:
The imported XML schema is not a well-formed XML 1.0 document.

Failure Detail Description:
{Error message from the XML parser}{imported XML schema}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2701

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R0001

 

 

 

Context:
For a candidate wsdl:definitions element within a WSDL document.

Assertion Description:
The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/.

Failure Message:
The wsdl:definitions namespace is not: http://schemas.xmlsoap.org/wsdl/.

Failure Detail Description:

Comments:
2nd step in a 3-phase verification process: XML+namespace+schemavalid.

 

Return to top of document.

Test Assertion: BP2703

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R2029
R2028

 

R0001

 

Context:
For a candidate description within a WSDL document

Assertion Description:
If it uses the WSDL namespace, then it conforms to the schema located at http://ws-i.org/profiles/basic/1.1/wsdl-2004-08-24.xsd, and if it uses the WSDL-SOAP binding namespace then it conforms to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd.

Failure Message:
WSDL definition does not conform to the schema located at http://ws-i.org/profiles/basic/1.1/wsdl-2004-08-24.xsd for some element using the WSDL-SOAP binding namespace, or does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd for some element using the WSDL namespace.

Failure Detail Description:
Error message from the XML parser.

Comments:
A description using WSDL-SOAP namespace is prefixed soapbind: in this doc as well as in the profile def. This verification is 3rd step in a 3-phase verification process: XML+namespace+schemavalid.

 

Return to top of document.

Test Assertion: BP2034

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

recommended

true

 

 

BP2703

R1034
R4005

 

 

 

Context:
For a candidate description within a WSDL document

Assertion Description:
The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".

Failure Message:
The candidate description contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".

Failure Detail Description:
[Not specified]

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2018

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

BP2703

R2023

 

R2030

 

Context:
For a candidate Web service definition with wsdl:types elements

Assertion Description:
The wsdl:types elements occur either as first children in the WSDL namespace of the wsdl:definitions element, or they are only preceded by wsdl:documentation element(s) and/or wsdl:import(s) element(s).

Failure Message:
wsdl:types element(s) in the WSDL namespace of the wsdl:definitions element were preceded by child elements other than wsdl:documentation or wsdl:import elements.

Failure Detail Description:

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2208

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

operation

required

true

 

 

BP2703

R2303

 

 

 

Context:
For a candidate wsdl:operation in a wsdl:portType definition

Assertion Description:
The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response).

Failure Message:
wsdl:operation was not a request/response or one-way operation.

Failure Detail Description:
Operation.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2010

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

portType

required

true

 

 

BP2703

R2304

 

 

 

Context:
For a candidate wsdl:portType definition

Assertion Description:
name attributes of Operations are unique in the wsdl:portType definition

Failure Message:
name attributes are not unique within the portType definition.

Failure Detail Description:
list of duplicate name(s) and of elements that use them.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2020

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404
BP2406

R2717

 

 

 

Context:
For a candidate wsdl:binding element, if the style attribute of the contained soapbind:binding is "rpc" and the use attribute is "literal".

Assertion Description:
The namespace attribute is specified on all soapbind:body elements and the value of the namespace attribute is an absolute URI.

Failure Message:
A rpc-literal binding contains soapbind:body element(s) that either does not have a namespace attribute, or has a namespace attribute value that is not an absolute URI.

Failure Detail Description:
soapbind:body elements that failed the assertion

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2021

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2703

R2720
R2749

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements.

Failure Message:
The wsdl:input element or wsdl:output element of an operation does not use the attribute name "part" with a Schema type of "NMTOKEN" for soapbind:header elements or soapbind:headerfault elements, or it uses "parts".

Failure Detail Description:
wsdl:input element or wsdl:output element of the defective operation.

Comments:
Generally BP2703 will fail as a pre-req first because this will not pass a specialized schema check.

 

Return to top of document.

Test Assertion: BP2402

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2703

R2401

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
The wsdl:binding element has a soapbind:binding child element.

Failure Message:
The wsdl:binding element does not use a soapbind:binding element as defined in section "3 SOAP Binding." of the WSDL 1.1 specification.

Failure Detail Description:
wsdl:binding.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2022

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2721

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
the name attribute is specified on the soapbind:fault element.

Failure Message:
Defective soapbind:fault element: the name attribute is not specified on the soapbind:fault element.

Failure Detail Description:
Defective soapbind:fault element

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2032

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2754

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault.

Failure Message:
Defective soapbind:fault element: the "name" attribute value does not match the value of the "name" attribute on the parent element wsdl:fault.

Failure Detail Description:
Defective soapbind:fault element

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2404

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2703
BP2402

R2701
R2702

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http.

Failure Message:
Transport attribute of the soap:binding does not contain http://schemas.xmlsoap.org/soap/http.

Failure Detail Description:
soap:binding element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2012

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404
BP2406

R2204

 

 

 

Context:
For a candidate wsdl:binding element, if the style attribute of the binding is "document" and use is "literal"

Assertion Description:
The binding (in soapbind:body elements) only refers to part elements that have been defined using the "element" attribute.

Failure Message:
A document-literal binding contains soapbind:body element(s) that refer to message part element(s) that do not have the element attribute.

Failure Detail Description:
soapbind:body element(s) that have non "element" parts attributes.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2406

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2703

R2706
R2723

 

R2707

 

Context:
For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.

Assertion Description:
The use attribute has a value of "literal".

Failure Message:
The use attribute of a soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault does not have value of "literal".

Failure Detail Description:
Defective soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.

Comments:
R2707 is not the verified Req, but an assumed Req for this verification.

 

Return to top of document.

Test Assertion: BP2019

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404
BP2406

R2716

 

 

 

Context:
For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "document" and use attribute is "literal"

Assertion Description:
The "namespace" attribute is not specified in any contained soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault elements.

Failure Message:
A document-literal binding has the "namespace" attribute specified in some soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault element.

Failure Detail Description:
Contained element with namespace attribute.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2013

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404
BP2406

R2203

 

 

 

Context:
For a candidate wsdl:binding element, if the "style" attribute of the contained soap:binding is "rpc" and use attribute is "literal"

Assertion Description:
The binding (in soapbind:body elements) only refers to part elements that have been defined using the "type" attribute.

Failure Message:
A rpc-literal binding contains soapbind:body element(s) that refer to message part element(s) that do not have the type attribute.

Failure Detail Description:
{binding}{message with failed part}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2014

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

operation

required

true

 

 

[Not specified]

R2305

 

 

 

Context:
For a candidate wsdl:operation with a parameterOrder attribute, if referred to by a candidate rpc-literal wsdl:binding element

Assertion Description:
The parameterOrder attribute omits at most 1 part from an output wsdl:message.

Failure Message:
An operation associated with an rpc-literal binding has a parameterOrder attribute that omits more than 1 part.

Failure Detail Description:
{defective portType}{output wsdl:message}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2017

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404

R2705

 

R2706

 

Context:
For a candidate wsdl:binding

Assertion Description:
The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding.

Failure Message:
The "style" attribute of an operation in soap:binding, does not have the same value of "document" or "rpc", as other operations of the binding.

Failure Detail Description:
defective soap:binding element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2101

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

BP2703

R2001

 

 

 

Context:
For a candidate wsdl:definition, if it contains wsdl:import statements

Assertion Description:
Each wsdl:import statement is only used to import another WSDL description.

Failure Message:
A wsdl:import element does not contain a reference to another WSDL description.

Failure Detail Description:
wsdl:import element(s) that does not reference a WSDL description.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2098

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

import

required

true

 

 

[Not specified]

R2007

 

 

 

Context:
For a candidate wsdl:import element

Assertion Description:
The "location" attribute is specified for the wsdl:import element, and has a non-empty value.

Failure Message:
A wsdl:import element does not have a "location" attribute, or has an empty value for the location attribute.

Failure Detail Description:
Defective wsdl:import element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2803

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

import

required

true

 

 

BP2703

R2803

 

 

 

Context:
For a candidate wsdl:import element

Assertion Description:
The "namespace" attribute's value is not a relative URI.

Failure Message:
The wsdl:import element's "namespace" attribute value is a relative URI.

Failure Detail Description:
Defective wsdl:import element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2103

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R2003

 

 

 

Context:
For each a candidate wsdl:definitions

Assertion Description:
For the referenced definitions as well as all imported descriptions, The XML schema import statement is only used within an xsd:schema element.

Failure Message:
A XML schema import element was found outside of an xsd:schema element.

Failure Detail Description:
Defective XML schema import element.

Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. The target for this assertion is the definitions element, because the XML schema import element might be specified anywhere within a WSDL document.

 

Return to top of document.

Test Assertion: BP2104

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

BP2101

R2005

 

 

 

Context:
For a candidate wsdl:import

Assertion Description:
The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.

Failure Message:
The targetNamespace attribute on the wsdl:definitions element for an imported WSDL description does not have the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.

Failure Detail Description:
wsdl:import element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2105

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R2022

 

R2030

 

Context:
For a candidate wsdl:definitions with wsdl:import elements

Assertion Description:
wsdl:import elements occur either as first children elements in the WSDL namespace of the wsdl:defintitions element, or they are only preceded by wsdl:documentation elements.

Failure Message:
A wsdl:import element in the WSDL namespace under the wsdl:definitions element, is preceded by child elements other than wsdl:documentation elements.

Failure Detail Description:
Display the WSDL import element(s) that failed the assertion.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2416

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R2101

 

 

 

Context:
For a candidate wsdl:definitions

Assertion Description:
Every QName in the WSDL document that is not referring to a schema component, is either using the target namespace of this WSDL or the target namespace of a directly imported WSDL component.

Failure Message:
A QName reference that does not refer to a schema component, is using neither the target namespace of this WSDL nor the target namespace of a directly imported WSDL component.

Failure Detail Description:
Defective QName(s).

Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. Only direct WSDL imports are considered for QName resolution. Note that this test does not require resolving the qualified element itself in the imported namespace: only the namespace is verified. Some sub cases of R2101 related to schema target namespaces, are not handled here and are covered by another TA covering R2102 (BP2417).

 

Return to top of document.

Test Assertion: BP2417

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

required

true

 

 

[Not specified]

R2102
R2101

 

 

 

Context:
For a candidate wsdl:definitions

Assertion Description:
Every QName in the WSDL document and its imports, that is referring to a schema component, uses the namespace defined in the targetNamespace attribute on the xs:schema element, or a namespace defined in the namespace attribute on an xs:import element within the xs:schema element.

Failure Message:
A QName reference that is referring to a schema component, uses a namespace not defined in the targetNamespace attribute on the xs:schema element, or in the namespace attribute on an xs:import element within the xs:schema element.

Failure Detail Description:
Defective QName(s).

Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. Only the subcases of R2101 that are related to schema imports are covered by this test, as these overlap with R2102 requirements.

 

Return to top of document.

Test Assertion: BP2107

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

[Not specified]

R2105

 

 

 

Context:
For a candidate wsdl:types element containing an xsd:schema element

Assertion Description:
The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).

Failure Message:
A xsd:schema element contained in a wsdl:types element does not have a targetNamespace attribute with a valid and non-null value, while having child element(s) other than xsd:import or xsd:annotation.

Failure Detail Description:
Defective xsd:schema element(s).

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2108

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

[Not specified]

R2110
R2111

 

 

 

Context:
For a candidate wsdl:types

Assertion Description:
The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration.

Failure Message:
An Array declaration uses - restricts or extends - the soapenc:Array type, or the wsdl:arrayType attribute is used in the type declaration.

Failure Detail Description:
Defective declaration(s).

Comments:
R2110 and R2111 have been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable.

 

Return to top of document.

Test Assertion: BP2110

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

recommended

true

 

 

[Not specified]

R2112

 

 

 

Context:
For a candidate wsdl:types that is used by an rpc-literal binding

Assertion Description:
The declaration does not use the naming convention ArrayOfXXX.

Failure Message:
A declaration is using the convention ArrayOfXXX.

Failure Detail Description:
Defective declaration(s).

Comments:
R2112 has been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. However, R2112 should only concern "wrapper elements", i.e. RPC-lit cases. The narrowing of the context here, is not sufficient to restrict properly the application of this TA.

 

Return to top of document.

Test Assertion: BP2111

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2201

 

 

 

Context:
For a candidate wsdl:binding, which contains a document-literal soap:binding

Assertion Description:
If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute.

Failure Message:
One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute.

Failure Detail Description:
Defective soapbind:body element(s).

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2112

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2207

 

 

 

Context:
For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element

Assertion Description:
No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.

Failure Message:
The referred wsdl:part element uses the "element" attribute in an rpc-literal soapbind:body.

Failure Detail Description:
{soapbind:body}{wsdl:part element(s)}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2113

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2205

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
When they contain references to message parts, the soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute.

Failure Message:
The soapbind:header, soapbind:headerfault or soapbind:fault elements refer to wsd:part element(s) that are not defined using only the "element" attribute.

Failure Detail Description:
Defective wsdl:binding and wsdl:part elements.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2115

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

message

required

true

 

 

[Not specified]

R2206

 

 

 

Context:
For a candidate wsdl:message

Assertion Description:
An "element" attribute on any wsdl:part element refers to a global element declaration.

Failure Message:
A wsdl:message element containing a wsdl:part element that uses the "element" attribute does not refer, via that attribute, to a global element declaration.

Failure Detail Description:
Defective wsdl:message element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2116

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

message

required

true

 

 

[Not specified]

R2306

 

 

 

Context:
For a candidate wsdl:message element

Assertion Description:
The wsdl:message element does not contain part elements that use both "type" and "element" attributes.

Failure Message:
A wsdl:message element has at least one wsdl:part element that contains both type and element attributes.

Failure Detail Description:
Defective wsdl:message element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2117

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2017
BP2406

R2726

 

 

 

Context:
For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding

Assertion Description:
The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element.

Failure Message:
An rpc-literal binding has the namespace attribute specified on contained soapbind:header, soapbind:headerfault and soapbind:fault elements.

Failure Detail Description:
{Defective wsdl:binding}{defective soapbind:header, soapbind:headerfault, or soapbind:fault element}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2118

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2718

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType.

Failure Message:
A wsdl:binding does not have the same list of wsdl:operations as the wsdl:portType to which it refers.

Failure Detail Description:
{unmatching wsdl:binding element}{unmatching portType element}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2114

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

recommended

true

 

 

BP2118

R2209

 

 

 

Context:
For a candidate wsdl:binding element

Assertion Description:
Every wsdl:part from each wsdl:message in the associated wsdl:portType is referenced either by the soapbind:body, soapbind:header, soapbind:fault, or soapbind:headerfault.

Failure Message:
A wsdl:binding does not bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault.

Failure Detail Description:
{Defective wsdl:binding element}{message with part(s) unbound}

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2119

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

BP2404

R2210

 

 

 

Context:
For a candidate wsdl:binding, which is of type document-literal

Assertion Description:
If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part.

Failure Message:
A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element.

Failure Detail Description:
Defective wsdl:binding element.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2120

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

binding

required

true

 

 

[Not specified]

R2710

 

 

 

Context:
For a candidate wsdl:binding

Assertion Description:
Each operation referenced by the binding results in a unique wire signature.

Failure Message:
A binding has operations that are not unique.

Failure Detail Description:
Defective wsdl:operation element(s).

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP2122

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

types

required

true

 

 

[Not specified]

R2801

 

 

 

Context:
For a candidate wsdl:types element

Assertion Description:
The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".

Failure Message:
A wsdl:types element contained a data type definition that is not an XML schema definition.

Failure Detail Description:
Defective data type definition.

Comments:
Validating the data type definitions includes any imported XML schema definitions.

 

Return to top of document.

Test Assertion: BP2123

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

recommended

true

 

 

[Not specified]

R2026

 

 

 

Context:
For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message that claims conformance to the Profile.

Assertion Description:
Contained WSDL extension elements do not use the wsdl:required attribute value of "true".

Failure Message:
An extension element within a WSDL element that claims conformance to the Basic Profile has a wsdl:required attribute with a value of "true".

Failure Detail Description:
Display the extension element that failed the assertion.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP4200

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

informational

true

 

 

[Not specified]

E0013

 

 

 

Context:
For a candidate wsdl:definitions element containing an extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/".

Assertion Description:
The WSDL contains an extension element or attribute that does not belong to the "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/" namespace.

Detail Description:
The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" or "http://schemas.xmlsoap.org/wsdl/mime/" may require out of band negotiation.

Comments:
Extension elements other than those belonging to one of the following namespaces (...) are considered extensibility points.

 

Return to top of document.

Test Assertion: BP4201

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements

Message Input

WSDL Input

Target

Partial-Target

Collateral

definitions

informational

true

 

 

[Not specified]

E0016

 

 

 

Context:
For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI.

Assertion Description:
The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination.

Detail Description:
The element(s) in question.

Comments:
[Not specified]

 

Return to top of document.

Test Assertion: BP4202

Entry Type

Test Type

Enabled

Additional Entry Types

Prerequisites

Profile Requirements