WS-I

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

Final Material

2005-01-12

Editors:
Simeon Greene, Oracle Corporation (simeon.m.greene@oracle.com)
David Lauzon, IBM Corporation (lauzond@ca.ibm.com)
Keith Stobie, Microsoft Corporation (kstobie@microsoft.com)
Ed Johns, Microsoft Corporation (edjohns@microsoft.com)
Shrikant Wagh, Optimyz Software, Inc. (shrikant@optimyz.com)
Other Contributors
Ajay Honnur (BEA), Rami Jaamour (Parasoft), Narendra Patil (Optimyz Software, Inc.)
Administrative contact:
secretary@ws-i.org

Abstract

This document contains the test assertions for the WS-I Simple SOAP Binding Profile 1.0 combined with the test assertions for the WS-I Basic Profile definition. These test assertions are used by the analyzer testing tool to determine if a Web service is conformant to the Simple Soap Binding Profile 1.0 in conjunction with 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

IDNameVersionRevisionLocation
BP11Basic Profile1.1Finalhttp://ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html
SSBP1Simple SOAP Binding Profile1.0Finalhttp://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]:

IDEntry TypeTest TypeEnabled
BP3001tModelrequired

true

BP3002bindingTemplaterequired

true

BP3003tModelrequired

true

BP5998tModeldriverTestable

false

Test Assertions [sorted by ID]:

IDEntry TypeTest TypeEnabled
BP3001tModelrequired

true

BP3002bindingTemplaterequired

true

BP3003tModelrequired

true

BP5998tModeldriverTestable

false


Test Assertion: BP3001

Entry TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
tModelrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingTemplaterequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
tModelrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
tModeldriverTestable

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. The Simple SOAP Binding Profile requires support for XML Schema 1.0 and WSDL 1.1.

Specification Reference List:


Test Assertions [as they appear in the document]:

IDEntry TypeTest TypeEnabled
BP2201definitionsrequired

true

BP2202typesrequired

true

BP2700definitionsrequired

true

BP2102typesrequired

true

BP2011typesrequired

true

BP2701definitionsrequired

true

BP2703definitionsrequired

true

BP2034definitionsrecommended

true

BP2018definitionsrequired

true

BP2208operationrequired

true

BP2010portTyperequired

true

BP2020bindingrequired

true

BP2021bindingrequired

true

BP2402bindingrequired

true

BP2022bindingrequired

true

BP2032bindingrequired

true

BP2404bindingrequired

true

BP2012bindingrequired

true

BP2406bindingrequired

true

BP2019bindingrequired

true

BP2013bindingrequired

true

BP2014operationrequired

true

BP2017bindingrequired

true

BP2101definitionsrequired

true

BP2098importrequired

true

BP2803importrequired

true

BP2103definitionsrequired

true

BP2104definitionsrequired

true

BP2105definitionsrequired

true

BP2416definitionsrequired

true

BP2417definitionsrequired

true

BP2107typesrequired

true

BP2108typesrequired

true

BP2110typesrecommended

true

BP2111bindingrequired

true

BP2112bindingrequired

true

BP2113bindingrequired

true

BP2115messagerequired

true

BP2116messagerequired

true

BP2117bindingrequired

true

BP2118bindingrequired

true

BP2114bindingrecommended

true

BP2119bindingrequired

true

BP2120bindingrequired

true

BP2122typesrequired

true

BP2123definitionsrecommended

true

BP4200definitionsinformational

true

BP4201definitionsinformational

true

BP4202typesinformational

true

BP2998definitionsdriverTestable

false

BP2999definitionsnotTestable

false

SSBP2209bindingrecommended

true

SSBP2403bindingrequired

true

SSBP2999definitionsnotTestable

false

Test Assertions [sorted by ID]:

IDEntry TypeTest TypeEnabled
BP2010portTyperequired

true

BP2011typesrequired

true

BP2012bindingrequired

true

BP2013bindingrequired

true

BP2014operationrequired

true

BP2017bindingrequired

true

BP2018definitionsrequired

true

BP2019bindingrequired

true

BP2020bindingrequired

true

BP2021bindingrequired

true

BP2022bindingrequired

true

BP2032bindingrequired

true

BP2034definitionsrecommended

true

BP2098importrequired

true

BP2101definitionsrequired

true

BP2102typesrequired

true

BP2103definitionsrequired

true

BP2104definitionsrequired

true

BP2105definitionsrequired

true

BP2107typesrequired

true

BP2108typesrequired

true

BP2110typesrecommended

true

BP2111bindingrequired

true

BP2112bindingrequired

true

BP2113bindingrequired

true

BP2114bindingrecommended

true

BP2115messagerequired

true

BP2116messagerequired

true

BP2117bindingrequired

true

BP2118bindingrequired

true

BP2119bindingrequired

true

BP2120bindingrequired

true

BP2122typesrequired

true

BP2123definitionsrecommended

true

BP2201definitionsrequired

true

BP2202typesrequired

true

BP2208operationrequired

true

BP2402bindingrequired

true

BP2404bindingrequired

true

BP2406bindingrequired

true

BP2416definitionsrequired

true

BP2417definitionsrequired

true

BP2700definitionsrequired

true

BP2701definitionsrequired

true

BP2703definitionsrequired

true

BP2803importrequired

true

BP2998definitionsdriverTestable

false

BP2999definitionsnotTestable

false

BP4200definitionsinformational

true

BP4201definitionsinformational

true

BP4202typesinformational

true

SSBP2209bindingrecommended

true

SSBP2403bindingrequired

true

SSBP2999definitionsnotTestable

false


Test Assertion: BP2201

Entry TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

true

[Not specified]R4004R0001

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

true

BP2102R2011

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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://schemas.xmlsoap.org/wsdl/2003-02-11.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://schemas.xmlsoap.org/wsdl/soap/2003-02-11.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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrecommended

true

BP2703R1034
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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

true

BP2703R2023R2030

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
operationrequired

true

BP2703R2303

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
portTyperequired

true

BP2703R2304

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

[Not specified]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 soapbind:body element does not have a namespace attribute, or the namespace attribute value 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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2703R2720
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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2703R2401

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2404R2204

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:
The binding (in soapbind:body elements) refers to part(s) of a soap:body element 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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2703R2706
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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2406R2716

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:
The binding is of style "document" and use "literal", and the "namespace" attribute is 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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

[Not specified]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:
soap:binding (in soapbind:body elements) refers to part(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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
operationrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2404R2705R2706

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

true

BP2703R2001

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
importrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
importrequired

true

BP2703R2803

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

true

BP2101R2005

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

true

[Not specified]R2022R2030

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrecommended

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
messagerequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
messagerequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrecommended

true

BP2118R2209

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

true

BP2404R2210

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
bindingrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
typesrequired

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsrecommended

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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral
definitionsinformational

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/".

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

Detail Description:
The use of a WSDL extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/" 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 TypeTest TypeEnabledAdditional Entry TypesPrerequisitesProfile Requirements
Message InputWSDL InputTargetPartial-TargetCollateral