Copyright (c) 2002-2004 by The Web Services-Interoperability Organization (WS-I) and Certain of its Members. All Rights Reserved.
This document contains 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 Basic Profile.
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.
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.
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.
Test assertion headings that have this background color are disabled and will not be processed by the analyzer.
Profile Definitions
Test Assertion Artifacts
discovery
description
message
Test Assertion Counts
Profile Requirements Index
Appendix A: Referenced Specifications
| ID | Name | Version | Revision | Location |
| BP1 | Basic Profile | 1.0 | Final | http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html |
The Basic Profile requires support for UDDI V2.0.
Specification Reference List:
| ID | Entry Type | Test Type | Enabled |
| WSI3021 | bindingTemplate | required |
false |
| WSI3001 | tModel | required |
true |
| WSI3002 | bindingTemplate | required |
true |
| WSI3003 | tModel | required |
true |
| WSI3004 | tModel | required |
true |
| WSI3006 | tModel | required |
true |
| WSI3007 | bindingTemplate | required |
true |
| ID | Entry Type | Test Type | Enabled |
| WSI3001 | tModel | required |
true |
| WSI3002 | bindingTemplate | required |
true |
| WSI3003 | tModel | required |
true |
| WSI3004 | tModel | required |
true |
| WSI3006 | tModel | required |
true |
| WSI3007 | bindingTemplate | required |
true |
| WSI3021 | bindingTemplate | required |
false |
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| bindingTemplate | required |
false | none | none | [Not specified] | R3021 | ||
Context:
For one uddi:tModel from a candidate REGISTRY
Assertion Description:
The uddi:tModel has a "name" element of value "ws-i-org:conformsTo:2002_12" , has an overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and has a keyedReference element with keyName attribute value of "uddi-org:types:categorization".
Failure Message:
The UDDI registry that was referred to does not contain a tModel element with name value "ws-i-org:conformsTo:2002_12" , overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and keyedReference element with keyName attribute value of "uddi-org:types:categorization".
Failure Detail Description:
UDDI URI
Comments:
WSI3021 has been disabled because it is the only test assertion about the conformance of Registries, which we do not support inthe tools at this time.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| tModel | required |
true | none | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| bindingTemplate | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| tModel | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| tModel | required |
true | none | binding | WSI3001
WSI3003 | R3004 | ||
Context:
For a candidate uddi:tModel
Assertion Description:
The conformance claims in the uddi:tModel are the same as those in the wsdl:binding which is referenced by the uddi:tModel.
Failure Message:
The uddi:tModel conformance claims are not the same as those in the wsdl:binding that it references.
Failure Detail Description:
{tModel key}{conformance claims in tModel and binding}
Comments:
[Not specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| tModel | required |
true | none | none | [Not specified] | R3030 | R3020
R3021 |
|
Context:
For a candidate uddi:tModel with one or more conformance claims
i.e. which has a categoryBag with a reference to the ws-i-org:conformsTo:2002_12 tModel
Assertion Description:
The uddi:tModel uses the ws-i-org:conformsTo:2002_12 categorization value of
"http://ws-i.org/profiles/basic/1.0". The categoryBag in the tModel contains a keyedReference with a tModelKey that contains the key value uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12 tModel.
Failure Message:
The uddi:tModel does not have a categorization value of "http://ws-i.org/profiles/basic/1.0", or the categorybag does not contain a keyedReference with a tModelKey that contains the key value uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12 tModel.
Failure Detail Description:
{tModel key}{categoryBag}
Comments:
[Not specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| bindingTemplate | required |
true | none | none | [Not specified] | R3005 | R3021 | |
Context:
For a candidate uddi:bindingTemplate
Assertion Description:
A uddi:businessEntity or uddi:businessService associated with this uddi:bindingTemplate is not categorized using the ws-i-org:conformsTo:2002_12 taxonomy.
Failure Message:
A uddi:businessEntity or uddi:businessService associated with the uddi:bindingTemplate is categorized using the ws-i-org:conformsTo:2002_12 taxonomy, while it should not.
Failure Detail Description:
{businessEntity key and/or businessService key}{categoryBag}
Comments:
[Not specified]
The Basic Profile requires support for XML Schema 1.0 and WSDL 1.1.
Specification Reference List:
| ID | Entry Type | Test Type | Enabled |
| WSI2201 | definitions | required |
true |
| WSI2202 | types | required |
true |
| WSI2700 | definitions | required |
true |
| WSI2102 | types | required |
true |
| WSI2011 | types | required |
true |
| WSI2701 | definitions | required |
true |
| WSI2703 | definitions | required |
true |
| WSI2018 | definitions | required |
true |
| WSI2208 | operation | required |
true |
| WSI2010 | portType | required |
true |
| WSI2020 | binding | required |
true |
| WSI2021 | binding | required |
true |
| WSI2402 | binding | required |
true |
| WSI2403 | binding | required |
true |
| WSI2022 | binding | required |
true |
| WSI2032 | binding | required |
true |
| WSI2404 | binding | required |
true |
| WSI2012 | binding | required |
true |
| WSI2406 | binding | required |
true |
| WSI2019 | binding | required |
true |
| WSI2013 | binding | required |
true |
| WSI2014 | operation | required |
true |
| WSI2017 | binding | required |
true |
| WSI2099 | definitions | required |
true |
| WSI2100 | definitions | required |
true |
| WSI2101 | definitions | required |
true |
| WSI2098 | import | required |
true |
| WSI2103 | definitions | required |
true |
| WSI2104 | definitions | required |
true |
| WSI2105 | definitions | required |
true |
| WSI2416 | definitions | required |
true |
| WSI2417 | definitions | required |
true |
| WSI2107 | types | required |
true |
| WSI2108 | types | required |
true |
| WSI2110 | types | recommended |
true |
| WSI2111 | binding | required |
true |
| WSI2112 | binding | required |
true |
| WSI2113 | binding | required |
true |
| WSI2115 | message | required |
true |
| WSI2116 | message | required |
true |
| WSI2117 | binding | required |
true |
| WSI2118 | binding | required |
true |
| WSI2114 | binding | recommended |
true |
| WSI2119 | binding | required |
true |
| WSI2120 | binding | required |
true |
| WSI2122 | types | required |
true |
| WSI2123 | definitions | recommended |
true |
| WSI4200 | definitions | informational |
true |
| WSI4201 | definitions | informational |
true |
| WSI4202 | types | informational |
true |
| WSI2998 | definitions | driverTestable |
false |
| WSI2999 | definitions | notTestable |
false |
| ID | Entry Type | Test Type | Enabled |
| WSI2010 | portType | required |
true |
| WSI2011 | types | required |
true |
| WSI2012 | binding | required |
true |
| WSI2013 | binding | required |
true |
| WSI2014 | operation | required |
true |
| WSI2017 | binding | required |
true |
| WSI2018 | definitions | required |
true |
| WSI2019 | binding | required |
true |
| WSI2020 | binding | required |
true |
| WSI2021 | binding | required |
true |
| WSI2022 | binding | required |
true |
| WSI2032 | binding | required |
true |
| WSI2098 | import | required |
true |
| WSI2099 | definitions | required |
true |
| WSI2100 | definitions | required |
true |
| WSI2101 | definitions | required |
true |
| WSI2102 | types | required |
true |
| WSI2103 | definitions | required |
true |
| WSI2104 | definitions | required |
true |
| WSI2105 | definitions | required |
true |
| WSI2107 | types | required |
true |
| WSI2108 | types | required |
true |
| WSI2110 | types | recommended |
true |
| WSI2111 | binding | required |
true |
| WSI2112 | binding | required |
true |
| WSI2113 | binding | required |
true |
| WSI2114 | binding | recommended |
true |
| WSI2115 | message | required |
true |
| WSI2116 | message | required |
true |
| WSI2117 | binding | required |
true |
| WSI2118 | binding | required |
true |
| WSI2119 | binding | required |
true |
| WSI2120 | binding | required |
true |
| WSI2122 | types | required |
true |
| WSI2123 | definitions | recommended |
true |
| WSI2201 | definitions | required |
true |
| WSI2202 | types | required |
true |
| WSI2208 | operation | required |
true |
| WSI2402 | binding | required |
true |
| WSI2403 | binding | required |
true |
| WSI2404 | binding | required |
true |
| WSI2406 | binding | required |
true |
| WSI2416 | definitions | required |
true |
| WSI2417 | definitions | required |
true |
| WSI2700 | definitions | required |
true |
| WSI2701 | definitions | required |
true |
| WSI2703 | definitions | required |
true |
| WSI2998 | definitions | driverTestable |
false |
| WSI2999 | definitions | notTestable |
false |
| WSI4200 | definitions | informational |
true |
| WSI4201 | definitions | informational |
true |
| WSI4202 | types | informational |
true |
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | required |
true | none | none | WSI2102 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | WSI2703 | R2023 | ||
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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| operation | required |
true | none | none | WSI2703 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| portType | required |
true | none | none | WSI2703 | R2304 | ||
Context:
For a candidate wsdl:portType definition
Assertion Description:
"Name" attributes of Operations are unique across the wsdl:portType definition
Failure Message:
names are not unique within the portType definition.
Failure Detail Description:
list of duplicate name(s) and of elements that use them.
Comments:
[Not specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2703 | 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 WSI2703 will fail as a pre-req first because this will not pass a specialized schema check.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2703 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2402 | R2401
R9801 | ||
Context:
For a candidate wsdl:binding element
Assertion Description:
Descendant elements and attributes in the wsdl:binding are not from the namespaces of WSDL MIME, HTTP GET/POST or DIME binding extensions.
Failure Message:
A descendant element or attribute in the wsdl:binding is from a namespace of WSDL MIME, HTTP GET/POST or DIME binding extensions.
Failure Detail Description:
Defective descendant element or
attribute
Comments:
The namespace for the WSDL MIME, HTTP GET/POST and DIME binding extensions respectively are assumed to be:
http://schemas.xmlsoap.org/wsdl/mime/
http://schemas.xmlsoap.org/wsdl/http/
http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2703
WSI2402 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2404 | 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:
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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2703 | 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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2406 | 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:
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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| operation | required |
true | none | none | [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 operation name}{output wsdl:message}
Comments:
[Not specified]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2404 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [Not specified] | R0003 | ||
Context:
For a candidate wsdl:definitions with conformance annotations,
Assertion Description:
Each WS-I conformance annotation is child of the wsdl:documentation of either wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message elements.
Failure Message:
A WS-I conformance annotation appears within an element where it is not permitted, i.e. is not a child of the wsdl:documentation of either wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message elements.
Failure Detail Description:
Defective element name(s) that contain the conformance annotation.
Comments:
This assertion is processed once for each WSDL description.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | WSI2099 | R0002 | ||
Context:
For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, which in turn contains a conformance annotation
Assertion Description:
The conformance annotation of the wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, validates to the schema defined in the Basic Profile, and is direct child of the documentation element for the WSDL element. The schema definition uses "http://ws-i.org/schemas/conformanceClaim/" as the targetNamespace.
Failure Message:
The conformance annotation for a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message is not correct: either no direct child of the documentation element, or does not validate to the conformanceClaim schema.
Failure Detail Description:
Element name(s) that contain the defective conformance annotation.
Comments:
This assertion is processed once for each WSDL description.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | WSI2703 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| import | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | WSI2101 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [Not specified] | R2022 | ||
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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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 (WSI2417).
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| definitions | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | required |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| types | recommended |
true | none | none | [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.
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| message | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| message | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | WSI2017
WSI2406 | 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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | required |
true | none | none | [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]
| Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
| Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
| binding | recommended |
true | none | none | WSI2118 | 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:headerfau