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
envelope
Test Assertion Counts
Profile Requirements Index
Appendix A: Referenced Specifications
ID | Name | Version | Revision | Location |
BP11 | Basic Profile | 1.1 | WG Draft | http://ws-i.org/Profiles/BasicProfile-1.1-2004-06-11.html |
The Basic Profile requires support for UDDI V2.0.
Specification Reference List:
ID | Entry Type | Test Type | Enabled |
BP3001 | tModel | required |
true |
BP3002 | bindingTemplate | required |
true |
BP3003 | tModel | required |
true |
BP5998 | tModel | driverTestable |
false |
ID | Entry Type | Test Type | Enabled |
BP3001 | tModel | required |
true |
BP3002 | bindingTemplate | required |
true |
BP3003 | tModel | required |
true |
BP5998 | tModel | driverTestable |
false |
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
tModel | required |
true | definitions | [Not specified] | R3002
R3010 R3011 |
Context:
For a candidate uddi:tModel
Assertion Description:
The uddi:tModel element uses WSDL as the description language and
the uddi:tModel contains a reference to a WSDL binding.
The uddi:overviewDoc/uddi:overviewURL element contains a reference to a WSDL definition,
which uses a namespace of http://schemas.xmlsoap.org/wsdl/. The uddi:overviewURL may
use the fragment notation to resolve to a specific wsdl:binding.
Failure Message:
The uddi:tModel does not reference a WSDL based Web service
definition or the uddi:tModel does not reference a wsdl:binding.
Failure Detail Description:
{tModel key}{uddi:overviewDoc}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
bindingTemplate | required |
true | [Not specified] | R3100 |
Context:
For a candidate uddi:bindingTemplate
Assertion Description:
The uddi:bindingTemplate element contains a uddi:accessPoint element, with a non-empty value.
Failure Message:
The uddi:bindingTemplate does not contain an uddi:accessPoint element, or it is empty.
Failure Detail Description:
bindingTemplate key
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
tModel | required |
true | [Not specified] | R3003 |
Context:
For a candidate uddi:tModel
Assertion Description:
The uddi:tModel is categorized using the uddi:types taxonomy, as "wsdlSpec": the uddi:keyedReference element has a tModelKey attribute value equal to "uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4" and a keyValue attribute value equal to "wsdlSpec".
Failure Message:
The uddi:tModel is not categorized using the uddi:types taxonomy with a categorization of "wsdlSpec".
Failure Detail Description:
{tModel key}{categoryBag}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
tModel | driverTestable |
false | [Not specified] |
Context:
Driver testable.
Assertion Description:
Driver testable.
Failure Message:
Failure Detail Description:
Comments:
All of these profile requirements are testable only by using a driver test program, since a test assertion would
require application-level knowledge of the message exchange.
The Basic Profile requires support for XML Schema 1.0 and WSDL 1.1.
Specification Reference List:
ID | Entry Type | Test Type | Enabled |
BP2201 | definitions | required |
true |
BP2202 | types | required |
true |
BP2700 | definitions | required |
true |
BP2102 | types | required |
true |
BP2011 | types | required |
true |
BP2701 | definitions | required |
true |
BP2703 | definitions | required |
true |
BP2034 | definitions | recommended |
true |
BP2018 | definitions | required |
true |
BP2208 | operation | required |
true |
BP2010 | portType | required |
true |
BP2020 | binding | required |
true |
BP2021 | binding | required |
true |
BP2402 | binding | required |
true |
BP2022 | binding | required |
true |
BP2032 | binding | required |
true |
BP2404 | binding | required |
true |
BP2012 | binding | required |
true |
BP2406 | binding | required |
true |
BP2019 | binding | required |
true |
BP2013 | binding | required |
true |
BP2014 | operation | required |
true |
BP2017 | binding | required |
true |
BP2101 | definitions | required |
true |
BP2098 | import | required |
true |
BP2803 | import | required |
true |
BP2103 | definitions | required |
true |
BP2104 | definitions | required |
true |
BP2105 | definitions | required |
true |
BP2416 | definitions | required |
true |
BP2417 | definitions | required |
true |
BP2107 | types | required |
true |
BP2108 | types | required |
true |
BP2110 | types | recommended |
true |
BP2111 | binding | required |
true |
BP2112 | binding | required |
true |
BP2113 | binding | required |
true |
BP2115 | message | required |
true |
BP2116 | message | required |
true |
BP2117 | binding | required |
true |
BP2118 | binding | required |
true |
BP2114 | binding | recommended |
true |
BP2119 | binding | required |
true |
BP2120 | binding | required |
true |
BP2122 | types | required |
true |
BP2123 | definitions | recommended |
true |
BP4200 | definitions | informational |
true |
BP4201 | definitions | informational |
true |
BP4202 | types | informational |
true |
BP2998 | definitions | driverTestable |
false |
BP2999 | definitions | notTestable |
false |
ID | Entry Type | Test Type | Enabled |
BP2010 | portType | required |
true |
BP2011 | types | required |
true |
BP2012 | binding | required |
true |
BP2013 | binding | required |
true |
BP2014 | operation | required |
true |
BP2017 | binding | required |
true |
BP2018 | definitions | required |
true |
BP2019 | binding | required |
true |
BP2020 | binding | required |
true |
BP2021 | binding | required |
true |
BP2022 | binding | required |
true |
BP2032 | binding | required |
true |
BP2034 | definitions | recommended |
true |
BP2098 | import | required |
true |
BP2101 | definitions | required |
true |
BP2102 | types | required |
true |
BP2103 | definitions | required |
true |
BP2104 | definitions | required |
true |
BP2105 | definitions | required |
true |
BP2107 | types | required |
true |
BP2108 | types | required |
true |
BP2110 | types | recommended |
true |
BP2111 | binding | required |
true |
BP2112 | binding | required |
true |
BP2113 | binding | required |
true |
BP2114 | binding | recommended |
true |
BP2115 | message | required |
true |
BP2116 | message | required |
true |
BP2117 | binding | required |
true |
BP2118 | binding | required |
true |
BP2119 | binding | required |
true |
BP2120 | binding | required |
true |
BP2122 | types | required |
true |
BP2123 | definitions | recommended |
true |
BP2201 | definitions | required |
true |
BP2202 | types | required |
true |
BP2208 | operation | required |
true |
BP2402 | binding | required |
true |
BP2404 | binding | required |
true |
BP2406 | binding | required |
true |
BP2416 | definitions | required |
true |
BP2417 | definitions | required |
true |
BP2700 | definitions | required |
true |
BP2701 | definitions | required |
true |
BP2703 | definitions | required |
true |
BP2803 | import | required |
true |
BP2998 | definitions | driverTestable |
false |
BP2999 | definitions | notTestable |
false |
BP4200 | definitions | informational |
true |
BP4201 | definitions | informational |
true |
BP4202 | types | informational |
true |
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R4003 |
Context:
For a candidate Web service definition within a WSDL document with a XML declaration statement.
Assertion Description:
The XML declaration statement uses UTF-8 or UTF-16 for the encoding.
Failure Message:
XML declaration statement within WSDL document does not use expected encoding (UTF-8 or UTF-16).
Failure Detail Description:
XML declaration statement.
Comments:
checks WSDL encoding.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | [Not specified] | R2010 |
Context:
For a candidate wsdl:types element within a WSDL document which imports an XML schema directly or indirectly.
Assertion Description:
The imported schema uses UTF-8 or UTF-16 for the encoding.
Failure Message:
The XML declaration statement within the imported XML Schema does not
use expected encoding (UTF-8 or UTF-16).
Failure Detail Description:
XML declaration statement.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R4004 | R0001 |
Context:
For a candidate wsdl:definitions element within a WSDL document.
Assertion Description:
The wsdl:definitions is a well-formed XML 1.0 document.
Failure Message:
The wsdl:definitions is not a well-formed XML 1.0 document.
Failure Detail Description:
Error message from the XML parser
Comments:
1st step in a 3-phase verification process: XML+namespace+schemavalid.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | [Not specified] | R2002
R2004 |
Context:
For a candidate wsdl:types element, with XML schema import elements
Assertion Description:
Each XML schema import statement (xsd:import) is only used to directly reference an XML schema definition, which has "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element. It does not contain a reference to another document embedding the XML schema definition (e.g. WSDL).
Failure Message:
An XML schema import element references something other than an XML schema definition: the referenced element does not have "schema" from XML namespace "http://www.w3.org/2001/XMLSchema" as root element.
Failure Detail Description:
Defective XML schema import element.
Comments:
NOTE: XML schema definitions within a WSDL document must adhere to the same rules as XML schema definitions which appear in separate XSD files. For example, two WSDL definitions can not contain the same complex type definition for the same targetNamespace.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | BP2102 | R2011 |
Context:
For a candidate wsdl:types element within a WSDL document, which imports an XML schema directly or indirectly
Assertion Description:
The imported XML schema is a well-formed XML 1.0 document and if it contains an
XML declaration, it is version 1.0.
Failure Message:
The imported XML schema is not a well-formed XML 1.0 document.
Failure Detail Description:
{Error message from the XML parser}{imported XML schema}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R0001 |
Context:
For a candidate wsdl:definitions element within a WSDL document.
Assertion Description:
The wsdl:definitions namespace has value: http://schemas.xmlsoap.org/wsdl/.
Failure Message:
The wsdl:definitions namespace is not: http://schemas.xmlsoap.org/wsdl/.
Failure Detail Description:
Comments:
2nd step in a 3-phase verification process: XML+namespace+schemavalid.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R2029
R2028 | R0001 |
Context:
For a candidate description within a WSDL document
Assertion Description:
If it uses the WSDL namespace, then it conforms to the schema located at http://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 | recommended |
true | BP2703 | R1034
R4005 |
Context:
For a candidate description within a WSDL document
Assertion Description:
The candidate description does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Failure Message:
The candidate description contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Failure Detail Description:
[Not specified]
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | BP2703 | R2023 | R2030 |
Context:
For a candidate Web service definition with wsdl:types elements
Assertion Description:
The wsdl:types elements occur either as first children in the WSDL namespace of the wsdl:definitions element, or they are only preceded by wsdl:documentation element(s) and/or wsdl:import(s) element(s).
Failure Message:
wsdl:types element(s) in the WSDL namespace of the wsdl:definitions element were preceded by child elements other than wsdl:documentation or wsdl:import elements.
Failure Detail Description:
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
operation | required |
true | BP2703 | R2303 |
Context:
For a candidate wsdl:operation in a wsdl:portType definition
Assertion Description:
The wsdl:operation element is either a WSDL request/response or a one-way operation (no Notification or Sollicit-Response).
Failure Message:
wsdl:operation was not a request/response or one-way operation.
Failure Detail Description:
Operation.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
portType | required |
true | BP2703 | R2304 |
Context:
For a candidate wsdl:portType definition
Assertion Description:
name attributes of Operations are unique in the wsdl:portType definition
Failure Message:
name attributes are not unique within the portType definition.
Failure Detail Description:
list of duplicate name(s) and of elements that use them.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
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]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2703 | R2720
R2749 |
Context:
For a candidate wsdl:binding element
Assertion Description:
The wsdl:input element and wsdl:output element of each operation uses the attribute name "part" with a Schema type of "NMTOKEN" and does not use "parts", for both soapbind:header elements and soapbind:headerfault elements.
Failure Message:
The wsdl:input element or wsdl:output element of an operation does not use the attribute name "part" with a Schema type of "NMTOKEN" for soapbind:header elements or soapbind:headerfault elements, or it uses "parts".
Failure Detail Description:
wsdl:input element or wsdl:output element of the defective operation.
Comments:
Generally BP2703 will fail as a pre-req first because this will not pass a specialized schema check.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2703 | R2401 |
Context:
For a candidate wsdl:binding element
Assertion Description:
The wsdl:binding element has a soapbind:binding child element.
Failure Message:
The wsdl:binding element does not use a soapbind:binding element as defined in section "3 SOAP Binding." of the WSDL 1.1 specification.
Failure Detail Description:
wsdl:binding.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2721 |
Context:
For a candidate wsdl:binding element
Assertion Description:
the name attribute is specified on the soapbind:fault element.
Failure Message:
Defective soapbind:fault element: the name attribute is not specified on the soapbind:fault element.
Failure Detail Description:
Defective soapbind:fault element
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2754 |
Context:
For a candidate wsdl:binding element
Assertion Description:
the name attribute that is specified on the soapbind:fault element matches the value specified on the parent element wsdl:fault.
Failure Message:
Defective soapbind:fault element: the "name" attribute value does not match the value of the "name" attribute on the parent element wsdl:fault.
Failure Detail Description:
Defective soapbind:fault element
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2703
BP2402 | R2701
R2702 |
Context:
For a candidate wsdl:binding element
Assertion Description:
The contained soap:binding element has a "transport" attribute, which has value: http://schemas.xmlsoap.org/soap/http.
Failure Message:
Transport attribute of the soap:binding does not contain http://schemas.xmlsoap.org/soap/http.
Failure Detail Description:
soap:binding element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2404 | 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 | BP2703 | R2706
R2723 | R2707 |
Context:
For a candidate wsdl:binding element, if the use attribute is specified on the soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.
Assertion Description:
The use attribute has a value of "literal".
Failure Message:
The use attribute of a soapbind:body, soapbind:fault, soapbind:header and soapbind:headerfault does not have value of "literal".
Failure Detail Description:
Defective soapbind:body, soapbind:fault, soapbind:header, or soapbind:headerfault elements.
Comments:
R2707 is not the verified Req, but an assumed Req for this verification.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2406 | R2716 |
Context:
FFor 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 | [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 | [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]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2404 | R2705 | R2706 |
Context:
For a candidate wsdl:binding
Assertion Description:
The "style" attribute of each operation in the contained soap:binding has the same value of "document" or "rpc", for all operations of the wsdl:binding.
Failure Message:
The "style" attribute of an operation in soap:binding, does not have the same value of "document" or "rpc", as other operations of the binding.
Failure Detail Description:
defective soap:binding element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | BP2703 | R2001 |
Context:
For a candidate wsdl:definition, if it contains wsdl:import statements
Assertion Description:
Each wsdl:import statement is only used to import another WSDL description.
Failure Message:
A wsdl:import element does not contain a reference to another WSDL description.
Failure Detail Description:
wsdl:import element(s) that does not reference a WSDL description.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
import | required |
true | [Not specified] | R2007 |
Context:
For a candidate wsdl:import element
Assertion Description:
The "location" attribute is specified for the wsdl:import element, and has a non-empty value.
Failure Message:
A wsdl:import element does not have a "location" attribute, or has an empty value for the location attribute.
Failure Detail Description:
Defective wsdl:import element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
import | required |
true | BP2703 | R2803 |
Context:
For a candidate wsdl:import element
Assertion Description:
The "namespace" attribute's value is not a relative URI.
Failure Message:
The wsdl:import element's "namespace" attribute value is a relative URI.
Failure Detail Description:
Defective wsdl:import element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R2003 |
Context:
For each a candidate wsdl:definitions
Assertion Description:
For the referenced definitions as well as all imported descriptions, The XML schema import statement is only used within an xsd:schema element.
Failure Message:
A XML schema import element was found outside of an xsd:schema element.
Failure Detail Description:
Defective XML schema import element.
Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. The target for this assertion is the definitions element, because the XML schema import element might be specified anywhere within a WSDL document.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | BP2101 | R2005 |
Context:
For a candidate wsdl:import
Assertion Description:
The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.
Failure Message:
The targetNamespace attribute on the wsdl:definitions element for an imported WSDL description does not have the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.
Failure Detail Description:
wsdl:import element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R2022 | R2030 |
Context:
For a candidate wsdl:definitions with wsdl:import elements
Assertion Description:
wsdl:import elements occur either as first children elements in the WSDL namespace of the wsdl:defintitions element, or they are only preceded by wsdl:documentation elements.
Failure Message:
A wsdl:import element in the WSDL namespace under the wsdl:definitions element, is preceded by child elements other than wsdl:documentation elements.
Failure Detail Description:
Display the WSDL import element(s) that failed the assertion.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R2101 |
Context:
For a candidate wsdl:definitions
Assertion Description:
Every QName in the WSDL document that is not referring to a schema component, is either using the target namespace of this WSDL or the target namespace of a directly imported WSDL component.
Failure Message:
A QName reference that does not refer to a schema component, is using neither the target namespace of this WSDL nor the target namespace of a directly imported WSDL component.
Failure Detail Description:
Defective QName(s).
Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. Only direct WSDL imports are considered for QName resolution. Note that this test does not require resolving the qualified element itself in the imported namespace: only the namespace is verified. Some sub cases of R2101 related to schema target namespaces, are not handled here and are covered by another TA covering R2102 (BP2417).
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | required |
true | [Not specified] | R2102
R2101 |
Context:
For a candidate wsdl:definitions
Assertion Description:
Every QName in the WSDL document and its imports, that is referring to a schema component, uses the namespace defined in the targetNamespace attribute on the xs:schema element, or a namespace defined in the namespace attribute on an xs:import element within the xs:schema element.
Failure Message:
A QName reference that is referring to a schema component, uses a namespace not defined in the targetNamespace attribute on the xs:schema element, or in the namespace attribute on an xs:import element within the xs:schema element.
Failure Detail Description:
Defective QName(s).
Comments:
This assertion is processed once for each WSDL description which fulfills the context criteria. Only the subcases of R2101 that are related to schema imports are covered by this test, as these overlap with R2102 requirements.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | [Not specified] | R2105 |
Context:
For a candidate wsdl:types element containing an xsd:schema element
Assertion Description:
The xsd:schema element contains a targetNamespace attribute with a valid and non-null value unless the xsd:schema element has xsd:import and/or xsd:annotation as its only child element(s).
Failure Message:
A xsd:schema element contained in a wsdl:types element does not have a targetNamespace attribute with a valid and non-null value, while having child element(s) other than xsd:import or xsd:annotation.
Failure Detail Description:
Defective xsd:schema element(s).
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | [Not specified] | R2110
R2111 |
Context:
For a candidate wsdl:types
Assertion Description:
The type soapenc:Array does not appear in these declarations, and the wsdl:arrayType attribute is not used in the type declaration.
Failure Message:
An Array declaration uses - restricts or extends - the soapenc:Array type, or the wsdl:arrayType attribute is used in the type declaration.
Failure Detail Description:
Defective declaration(s).
Comments:
R2110 and R2111 have been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | recommended |
true | [Not specified] | R2112 |
Context:
For a candidate wsdl:types that is used by an rpc-literal binding
Assertion Description:
The declaration does not use the naming convention ArrayOfXXX.
Failure Message:
A declaration is using the convention ArrayOfXXX.
Failure Detail Description:
Defective declaration(s).
Comments:
R2112 has been interpreted as applying to any declaration, as we cannot assume the intent of declaring arrays, which is untestable. However, R2112 should only concern "wrapper elements", i.e. RPC-lit cases. The narrowing of the context here, is not sufficient to restrict properly the application of this TA.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2201 |
Context:
For a candidate wsdl:binding, which contains a document-literal soap:binding
Assertion Description:
If the "parts" attribute is present, then the soapbind:body element(s) have at most one part listed in the parts attribute.
Failure Message:
One or more soapbind:body element(s) in a document-literal soap:binding does not have at most one part listed in the parts attribute.
Failure Detail Description:
Defective soapbind:body element(s).
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2207 |
Context:
For a candidate wsdl:binding, with a style "rpc" attribute and containing at least a soapbind:body element
Assertion Description:
No wsdl:part referred by such a soapbind:body element is defined using the "element" attribute.
Failure Message:
The referred wsdl:part element uses the "element" attribute in an rpc-literal soapbind:body.
Failure Detail Description:
{soapbind:body}{wsdl:part element(s)}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2205 |
Context:
For a candidate wsdl:binding element
Assertion Description:
When they contain references to message parts, the soapbind:header, soapbind:headerfault and soapbind:fault elements only refer to wsdl:part element(s) that have been defined using the "element" attribute.
Failure Message:
The soapbind:header, soapbind:headerfault or soapbind:fault elements refer to wsd:part element(s) that are not defined using only the "element" attribute.
Failure Detail Description:
Defective wsdl:binding and wsdl:part elements.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
message | required |
true | [Not specified] | R2206 |
Context:
For a candidate wsdl:message
Assertion Description:
An "element" attribute on any wsdl:part element refers to a global element declaration.
Failure Message:
A wsdl:message element containing a wsdl:part element that uses the "element" attribute does not refer, via that attribute, to a global element declaration.
Failure Detail Description:
Defective wsdl:message element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
message | required |
true | [Not specified] | R2306 |
Context:
For a candidate wsdl:message element
Assertion Description:
The wsdl:message element does not contain part elements that use both "type" and "element" attributes.
Failure Message:
A wsdl:message element has at least one wsdl:part element that contains both type and element attributes.
Failure Detail Description:
Defective wsdl:message element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2017
BP2406 | R2726 |
Context:
For a candidate wsdl:binding element, referred to by an rpc-literal soap:binding
Assertion Description:
The rpc-literal binding does not have a namespace attribute specified on a contained soapbind:header, soapbind:headerfault, and soapbind:fault element.
Failure Message:
An rpc-literal binding has the namespace attribute specified on contained soapbind:header, soapbind:headerfault and soapbind:fault elements.
Failure Detail Description:
{Defective wsdl:binding}{defective soapbind:header, soapbind:headerfault, or soapbind:fault element}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2718 |
Context:
For a candidate wsdl:binding element
Assertion Description:
The list (or set) of wsdl:operation elements for the contained wsdl:binding is the same as the list of wsdl:operations for the referred wsdl:portType.
Failure Message:
A wsdl:binding does not have the same list of wsdl:operations as the wsdl:portType to which it refers.
Failure Detail Description:
{unmatching wsdl:binding element}{unmatching portType element}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | recommended |
true | BP2118 | R2209 |
Context:
For a candidate wsdl:binding element
Assertion Description:
Every wsdl:part from each wsdl:message in the associated wsdl:portType is referenced either by the soapbind:body, soapbind:header, soapbind:fault, or soapbind:headerfault.
Failure Message:
A wsdl:binding does not bind every wsdl:part of a wsdl:message in the wsdl:portType to which it refers to one of soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault.
Failure Detail Description:
{Defective wsdl:binding element}{message with part(s) unbound}
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | BP2404 | R2210 |
Context:
For a candidate wsdl:binding, which is of type document-literal
Assertion Description:
If it does not specify the parts attribute on a soapbind:body element, the corresponding abstract wsdl:message defines zero or one wsdl:part.
Failure Message:
A document-literal binding which does not specify the parts attribute, has more than one wsdl:part in the associated wsdl:message element.
Failure Detail Description:
Defective wsdl:binding element.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
binding | required |
true | [Not specified] | R2710 |
Context:
For a candidate wsdl:binding
Assertion Description:
Each operation referenced by the binding results in a unique wire signature.
Failure Message:
A binding has operations that are not unique.
Failure Detail Description:
Defective wsdl:operation element(s).
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | required |
true | [Not specified] | R2801 |
Context:
For a candidate wsdl:types element
Assertion Description:
The data type definition if any within the wsdl:types element is an XML schema definition defined in the XML Schema 1.0 Recommendation with the namespace URI "http://www.w3.org/2001/XMLSchema".
Failure Message:
A wsdl:types element contained a data type definition that is not an XML schema definition.
Failure Detail Description:
Defective data type definition.
Comments:
Validating the data type definitions includes any imported XML schema definitions.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | recommended |
true | [Not specified] | R2026 |
Context:
For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation,
or wsdl:message that claims conformance to the Profile.
Assertion Description:
Contained WSDL extension elements do not use the wsdl:required attribute value of "true".
Failure Message:
An extension element within a WSDL element that claims conformance to the Basic Profile has a wsdl:required attribute with a value of "true".
Failure Detail Description:
Display the extension element that failed the assertion.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | informational |
true | [Not specified] | E0013 |
Context:
For a candidate wsdl:definitions element containing an extension element or attribute from a namespace other than "http://schemas.xmlsoap.org/wsdl/soap/".
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.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | informational |
true | [Not specified] | E0016 |
Context:
For a candidate wsdl:import element, where the location attribute or the namespace attribute has a value that is a relative URI, or a for soap:address element where the location attribute is a relative URI.
Assertion Description:
The use of a relative URI as the value for a wsdl:import location or namespace attribute, or for a soap:address location attribute may require out of band coordination.
Detail Description:
The element(s) in question.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
types | informational |
true | BP2202
BP2011 | E0017 |
Context:
For an XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, which contains any schema annotation elements.
Assertion Description:
An XML schema definition defined in the wsdl:types element, or imported directly or indirectly by a schema definition defined in the wsdl:types element, may use schema annotation elements as an extensibility mechanism.
Detail Description:
The annotation elements included in the schema.
Comments:
Schema annotations are an extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | driverTestable |
false | [Not specified] | R2709 |
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.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
definitions | notTestable |
false | [Not specified] | R2025
R2027 R2008 R4002 R2200 R2202 R2208 R2302 R2750 R2707 R2711 R2727 R2719 R2722 R2724 R2725 R2741 R2742 R2743 R2747 R2748 R2751 R2752 R2800 R2009 R2114 R2030 E0014 E0015 |
Context:
Not testable.
Assertion Description:
Not testable.
Failure Message:
Failure Detail Description:
Comments:
All of these profile requirements are NOT testable, or NOT testable using the
current test tools. For example, some of these test assertions represent
capabilities which can not be validated.
Note, BP2200 is NOT testable using the current test tools because any
BOM detected within a WSDL document is pre-processed by the WSDL
reader/parser and hence becomes inaccessible.
Note, R2724 could be tested. If a request is inconsistent with the WSDL for the request,
we could flag returning a non-error response. We currently do not check the status of a
request when we are processing the response. However this is within the scope of the test-tools
and we are tracking this omission defect/feature in bugzilla RE: bug#: 8.
The Basic Profile requires support for SOAP 1.1 and HTTP 1.0 or 1.1.
Specification Reference List:
ID | Entry Type | Test Type | Enabled |
BP1004 | requestMessage | required |
true |
BP1006 | requestMessage | required |
true |
BP1116 | requestMessage | required |
true |
BP1001 | anyMessage | recommended |
true |
BP1002 | anyMessage | required |
true |
BP1010 | responseMessage | required |
true |
BP1101 | responseMessage | recommended |
true |
BP1103 | responseMessage | recommended |
true |
BP4103 | anyMessage | informational |
true |
BP4104 | anyMessage | informational |
true |
BP4105 | anyMessage | informational |
true |
BP4106 | responseMessage | informational |
true |
BP4107 | requestMessage | informational |
true |
BP1998 | anyMessage | driverTestable |
false |
BP1999 | anyMessage | notTestable |
false |
ID | Entry Type | Test Type | Enabled |
BP1001 | anyMessage | recommended |
true |
BP1002 | anyMessage | required |
true |
BP1004 | requestMessage | required |
true |
BP1006 | requestMessage | required |
true |
BP1010 | responseMessage | required |
true |
BP1101 | responseMessage | recommended |
true |
BP1103 | responseMessage | recommended |
true |
BP1116 | requestMessage | required |
true |
BP1998 | anyMessage | driverTestable |
false |
BP1999 | anyMessage | notTestable |
false |
BP4103 | anyMessage | informational |
true |
BP4104 | anyMessage | informational |
true |
BP4105 | anyMessage | informational |
true |
BP4106 | responseMessage | informational |
true |
BP4107 | requestMessage | informational |
true |
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
requestMessage | required |
true | [Not specified] | R1132
R1108 |
Context:
For a candidate request message in the message log file
Assertion Description:
The request message is a POST message, without any use of framework extension.
Failure Message:
The message is not an HTTP POST message, or makes use of HTTP framework extension.
Failure Detail Description:
All HTTP headers.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
requestMessage | required |
true | [Not specified] | R1109 |
Context:
For a candidate request message in the message log file, when a SOAPAction header is present
Assertion Description:
The SOAPAction header contains a quoted string of any value, including "".
Failure Message:
SOAPAction HTTP header does not contain a quoted string.
Failure Detail Description:
All HTTP headers.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
requestMessage | required |
true | binding | BP1006 | R2744
R2745 |
Context:
For a candidate request message in the message log file, when a SOAPAction header is present
Assertion Description:
The SOAPAction header contains a quoted string that has same value as the value of the soapbind:operation/@soapAction attribute, and an empty string ("") if there is no such attribute.
Failure Message:
SOAPAction header does not contain the correct string value.
Failure Detail Description:
{All HTTP headers}{soapAction value from the soap:binding}.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | recommended |
true | BP1002 | R1140 |
Context:
For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request
Assertion Description:
If it is a request, the arg #2 of POST is <HTTP/1.1>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. If it is a response, it starts with <HTTP/1.1>
Failure Message:
The message is not sent using HTTP/1.1.
Failure Detail Description:
All HTTP headers.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | required |
true | [Not specified] | R1141 |
Context:
For a candidate message in the log file, that is either a POST HTTP request, or a response to a POST HTTP request
Assertion Description:
If it is a request, the arg #2 of POST is <HTTP/1.1> or <HTTP/1.0>. If absent, first line of the body is: HTTP-Version = HTTP/1.1. (or HTTP/1.0). If it is a response, it starts with <HTTP/1.1> or <HTTP/1.0>
Failure Message:
The message is not sent using HTTP/1.1 or HTTP/1.0.
Failure Detail Description:
All HTTP headers.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseMessage | required |
true | requestMessage | operation | [Not specified] | R2714 |
Context:
For a candidate response message in the message log file, which is bound to a One-Way wsdl:operation
Assertion Description:
It does not contain a soap:Envelope: the HTTP entity-body is empty
Failure Message:
One-Way operation response contains a soap:Envelope (HTTP entity-body must be empty)
Failure Detail Description:
Comments:
Need the request to determine if it is a One-Way.
We could have targeted the request as well (as primary entry), and correlate with the response.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseMessage | recommended |
true | requestMessage | [Not specified] | R1112 |
Context:
For a candidate response message in the log file, that does not contain a SOAP message and that does not contain an HTTP 4xx status code
Assertion Description:
The response message, if successfully processed at HTTP level, is sent using either a "200 OK" or "202 Accepted" HTTP status code.
Failure Message:
A response message without a SOAP message, is not using either a "200 OK" or
"202 Accepted" HTTP status code, though successful at HTTP level.
Failure Detail Description:
Complete message.
Comments:
This test assertion is targeted at one-way operations.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseMessage | recommended |
true | requestMessage | [Not specified] | R1114 |
Context:
For a candidate response message in the message log file, associated with a request message that does not contain an HTTP POST method
Assertion Description:
The response contains a "405 Method not Allowed" HTTP status code.
Failure Message:
The response message to a request that was not a POST message, did not contain an 405 HTTP status code.
Failure Detail Description:
Both the request and response message.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | informational |
true | [Not specified] | E0007 |
Context:
For a candidate message in the message log file containing an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest"
Assertion Description:
The message contains an HTTP Authentication header field with an authentication mechanism other than "Basic" or "Digest".
Detail Description:
HTTP authentication allows for extension schemes, arbitrary digest hash algorithms and parameters.
Comments:
HTTP Authentication is an extensibility point for HTTP 1.1.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | informational |
true | [Not specified] | E0008 |
Context:
For a candidate message in the message log file containing an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)
Assertion Description:
The message contains an HTTP Header field that is not from the following list of specified header fields: (http://www.mnot.net/drafts/draft-nottingham-http-header-reg-00.txt)
Detail Description:
HTTP allows arbitrary headers to occur in messages.
Comments:
If all HTTP headers in a message are in the standardized list of draft-nottingham-http-header-reg-00 it will cause the informationalassertion 4104 to be notApplicable; otherwise 4101 will pass and headers not in the draft-nottingham-http-header-reg-00 will be listed.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | informational |
true | [Not specified] | E0010 |
Context:
For a candidate message in the message log file containing a Content-encoding HTTP header field with a value other than "gzip", "compress" or "deflate"
Assertion Description:
The contained Content-encoding HTTP header field has a value other than "gzip", "compress" or "deflate".
Detail Description:
The set of content-codings allowed by HTTP is open-ended.
Comments:
Any Content-encoding header field with a value other than the specified list is considered to be an extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseMessage | informational |
true | [Not specified] | E0011 |
Context:
For a candidate response message in the message log file containing a transfer-encoding HTTP header field with a value other than "chunked"
Assertion Description:
The contained transfer-encoding HTTP header field has a value other than "chunked".
Detail Description:
Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point.
Comments:
Any Transfer-encoding header field with a value other than chunked is considered to be an extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
requestMessage | informational |
true | [Not specified] | E0012 |
Context:
For a request message containing an Upgrade header field in the HTTP Headers.
Assertion Description:
The request message contains an Upgrade header field in the HTTP Headers.
Detail Description:
The Upgrade header field is considered an HTTP Extensibility point.
Comments:
The Upgrade header field is considered an HTTP Extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | driverTestable |
false | [Not specified] |
Context:
Driver testable.
Assertion Description:
Driver testable.
Failure Message:
Failure Detail Description:
Comments:
All of these profile requirements are testable only by using a driver test program, since a test assertion would
require application-level knowledge of the message exchange.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyMessage | notTestable |
false | [Not specified] | R1115
R1122 R1113 R1119 R1120 R1121 R1123 R1124 R1125 R1127 R1130 R1131 R1127 R5000 R5001 R5010 E0009 E0019 E0020 E0021 E0022 E0023 |
Context:
Not testable.
Assertion Description:
Not testable.
Failure Message:
Failure Detail Description:
Comments:
All of these profile requirements are NOT testable. Some of these test assertions represent capabilities which
can not be validated.
SOAP 1.1 defines a structure for transmitting messages, the envelope. The profile mandates the use of that structure.
Specification Reference List:
ID | Entry Type | Test Type | Enabled |
BP1107 | responseEnvelope | recommended |
true |
BP1308 | anyEnvelope | required |
true |
BP1011 | requestEnvelope | required |
true |
BP1013 | responseEnvelope | required |
true |
BP1204 | anyEnvelope | required |
true |
BP1301 | anyEnvelope | required |
true |
BP1305 | responseEnvelope | required |
true |
BP1306 | responseEnvelope | required |
true |
BP1031 | responseEnvelope | recommended |
true |
BP1032 | anyEnvelope | required |
true |
BP1033 | anyEnvelope | recommended |
true |
BP1316 | responseEnvelope | required |
true |
BP1307 | anyEnvelope | required |
true |
BP1318 | anyEnvelope | required |
true |
BP1008 | anyEnvelope | required |
true |
BP1211 | anyEnvelope | required |
true |
BP1212 | anyEnvelope | required |
true |
BP1213 | anyEnvelope | required |
true |
BP1214 | anyEnvelope | required |
true |
BP1755 | anyEnvelope | required |
true |
BP1005 | responseEnvelope | required |
true |
BP1302 | responseEnvelope | recommended |
true |
BP1203 | responseEnvelope | required |
true |
BP1100 | responseEnvelope | recommended |
true |
BP1600 | anyEnvelope | required |
true |
BP1601 | anyEnvelope | required |
true |
BP1201 | anyEnvelope | required |
true |
BP1202 | anyEnvelope | required |
true |
BP1701 | anyEnvelope | required |
true |
BP1012 | responseEnvelope | required |
true |
BP1007 | anyEnvelope | required |
true |
BP1208 | anyEnvelope | required |
true |
BP1009 | anyEnvelope | required |
true |
BP1309 | anyEnvelope | required |
true |
BP4100 | anyEnvelope | informational |
true |
BP4101 | anyEnvelope | informational |
true |
BP4102 | anyEnvelope | informational |
true |
BP4109 | anyEnvelope | informational |
true |
BP3998 | anyEnvelope | driverTestable |
false |
BP3999 | anyEnvelope | notTestable |
false |
ID | Entry Type | Test Type | Enabled |
BP1005 | responseEnvelope | required |
true |
BP1007 | anyEnvelope | required |
true |
BP1008 | anyEnvelope | required |
true |
BP1009 | anyEnvelope | required |
true |
BP1011 | requestEnvelope | required |
true |
BP1012 | responseEnvelope | required |
true |
BP1013 | responseEnvelope | required |
true |
BP1031 | responseEnvelope | recommended |
true |
BP1032 | anyEnvelope | required |
true |
BP1033 | anyEnvelope | recommended |
true |
BP1100 | responseEnvelope | recommended |
true |
BP1107 | responseEnvelope | recommended |
true |
BP1201 | anyEnvelope | required |
true |
BP1202 | anyEnvelope | required |
true |
BP1203 | responseEnvelope | required |
true |
BP1204 | anyEnvelope | required |
true |
BP1208 | anyEnvelope | required |
true |
BP1211 | anyEnvelope | required |
true |
BP1212 | anyEnvelope | required |
true |
BP1213 | anyEnvelope | required |
true |
BP1214 | anyEnvelope | required |
true |
BP1301 | anyEnvelope | required |
true |
BP1302 | responseEnvelope | recommended |
true |
BP1305 | responseEnvelope | required |
true |
BP1306 | responseEnvelope | required |
true |
BP1307 | anyEnvelope | required |
true |
BP1308 | anyEnvelope | required |
true |
BP1309 | anyEnvelope | required |
true |
BP1316 | responseEnvelope | required |
true |
BP1318 | anyEnvelope | required |
true |
BP1600 | anyEnvelope | required |
true |
BP1601 | anyEnvelope | required |
true |
BP1701 | anyEnvelope | required |
true |
BP1755 | anyEnvelope | required |
true |
BP3998 | anyEnvelope | driverTestable |
false |
BP3999 | anyEnvelope | notTestable |
false |
BP4100 | anyEnvelope | informational |
true |
BP4101 | anyEnvelope | informational |
true |
BP4102 | anyEnvelope | informational |
true |
BP4109 | anyEnvelope | informational |
true |
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | recommended |
true | binding | [Not specified] | R2740 |
Context:
For a candidate response envelope containing a soap:Fault element
Assertion Description:
The contained soap:Fault element is defined in the wsdl:binding.
Failure Message:
The response envelope contained soap:Fault element(s), but they
were not defined in the WSDL description.
Failure Detail Description:
Undefined soap:Fault element(s).
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R1006 |
Context:
For a candidate envelope containing a soap:Body element
Assertion Description:
No child element of soap:Body has a soap:encodingStyle attribute.
Failure Message:
A child of the soap:Body element has a soap:encodingStyle attribute.
Failure Detail Description:
SOAP message
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
requestEnvelope | required |
true | operation | BP1701
BP1308 | R2301
R2712 | R2710
R2742 R2743 R2748 |
Context:
For a candidate envelope in a request message
Assertion Description:
The content of the envelope matches the definition in the WSDL document. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part. If the message has "parts", the order of the part elements in the soap:body of the wired message, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.
Failure Message:
The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element; or the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part.
Failure Detail Description:
Non-matching WSDL operation and envelope.
Comments:
R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The soap:encodingStyle verification done by pre-req BP1308 on children, is not done for grand-children (BP1318 coul dnot be a pre-req)
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | requestEnvelope | operation | BP1701 | R2301
R2712 | R2710
R2742 R2743 R2748 |
Context:
For a candidate envelope in a response message, if it does not contain a soap:Fault
Assertion Description:
The content of the envelope matches the definition in the WSDL document. In case of an rpc-lit binding, the body contains a wrapper element that matches theoperation name. In case of a doc-lit binding, the child element of soap:body is an instance of the global element declaration referenced by the corresponding wsdl:part. If the message has "parts", the order of the part elements in the soap:body of the wired message, is same as that of the wsdl:partS, in the wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.
Failure Message:
The content of the envelope does not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message that describes it for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element; or it has a doc-lit binding but the child element of soap:body is not an instance of the global element declaration referenced by the corresponding wsdl:part; or it has an rpc-lit binding but no wrapper element.
Failure Detail Description:
Non-matching WSDL operation and envelope.
Comments:
R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The test assertion also verifies the wrapper element in case of an rpc-binding (in a same way as BP1005 which could not be a pre-requisite due to a narrower context)
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R2113 |
Context:
For a candidate envelope
Assertion Description:
The soap:body of the envelope does not contain the soapenc:arrayType attribute.
Failure Message:
The soap:body of an envelope contains the soapenc:arrayType attribute.
Failure Detail Description:
SOAP envelope.
Comments:
R2113 has been interpreted as applying to any message body, as it is unclear how to narrow to serialized array declarations. The narrowing of the context here,may not be 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 | ||||
anyEnvelope | required |
true | BP1701 | R1013 |
Context:
For a candidate envelope containing a "mustUnderstand" attribute
Assertion Description:
The "mustUnderstand" attribute in the envelope has one of two values: 1, 0.
Failure Message:
The "mustUnderstand" attribute in an envelope has a value different from: 1, 0.
Failure Detail Description:
SOAP envelope, plus envelope of a request message if it is a response.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | responseMessage | BP1701 | R1126 |
Context:
For a candidate envelope in a response message containing a soap:Fault element
Assertion Description:
The soap:Fault element is contained in an HTTP 500 message with "Server" Error code.
Failure Message:
The soap:Fault message is not returned in an HTTP 500 message.
Failure Detail Description:
SOAP envelope.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | BP1701 | R1000 |
Context:
For a candidate envelope in a response message containing a soap:Fault element
Assertion Description:
The soap:Fault element does not have children other than soap:faultcode, soap:faultstring, soap:faultactor or soap:detail.
Failure Message:
One or more soap:Fault child elements are not standard, i.e. is neither soap:faultcode, soap:faultstring, soap:faultactor nor soap:detail.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | recommended |
true | BP1701 | R1031 |
Context:
For a candidate envelope in a response message containing a soap:Fault element
Assertion Description:
The content of the soap:Fault element does not make use of the SOAP 1.1 dot notation, i.e. is a string without a dot character in it.
Failure Message:
A soap:Fault element makes use of the SOAP 1.1 dot notation.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R1032 |
Context:
For a candidate envelope
Assertion Description:
The soap:Envelope, soap:Header, and soap:Body elements do not have any attributes in the namespace "http://schemas.xmlsoap.org/soap/envelope/"
Failure Message:
A soap:Envelope, soap:Header, or soap:Body element has an attribute in the namespace "http://schemas.xmlsoap.org/soap/envelope/".
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | recommended |
true | BP1701 | R1033 |
Context:
For a candidate envelope
Assertion Description:
The SOAP envelope does not contain the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Failure Message:
The SOAP envelope contains the namespace declaration xmlns:xml="http://www.w3.org/XML/1998/namespace".
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | BP1701 | R1001 |
Context:
For a candidate envelope in a response message containing a soap:Fault element
Assertion Description:
The soap:Fault element children (soap:faultcode, soap:faultstring, soap:faultactor or soap:detail) are unqualified.
Failure Message:
One or more soap:Fault child elements are qualified.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R1005 |
Context:
For a candidate envelope containing elements with namespace "http://schemas.xmlsoap.org/soap/envelope/"
Assertion Description:
The envelope contains elements that are namespaced "http://schemas.xmlsoap.org/soap/envelope/" do not have a soap:encodingStyle attribute.
Failure Message:
The envelope contains one or elements namespaced "http://schemas.xmlsoap.org/soap/envelope/" having a soap:encodingStyle attribute.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | operation | BP1701
BP1202 | R1007 |
Context:
For a candidate non-fault envelope containing a soap:body with at least one grandchild, and is referred by an rpc-literal binding
Assertion Description:
The grandchild elements of soap:Body referred by an rpc-literal binding do not have a soap:encodingStyle attribute.
Failure Message:
At least one grandchild of the soap:Body element referred by an rpc-literal binding has a soap:encodingStyle attribute.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | binding | BP1701 | R2735
R2737 |
Context:
For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal
Assertion Description:
The envelope has part accessor elements for parameters and return value, in no namespaces, but the descendants of these are namespace qualified as defined by the schema in which their types are defined.
Failure Message:
The envelope has part accessor elements for parameters and return value, within namespaces, or the descendants of these elements are not namespace qualified as defined by the schema in which their types are defined.
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 | ||||
anyEnvelope | required |
true | binding | BP1701 | R2211 |
Context:
For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal
Assertion Description:
Part accessor elements in the envelope do not have an xsi:nil attribute with a value of "1" or "true".
Failure Message:
Envelope referenced by an rpc-literal binding has part accessor elements with an xsi:nil attribute with a value of "1" or "true".
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 | ||||
anyEnvelope | required |
true | binding | BP1701 | R2212 |
Context:
For a candidate non-fault envelope containing a soap:body with at least one element
Assertion Description:
The envelope contains exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.
Failure Message:
The content of the soap:Body element is inconsistent with its description. The envelope does not contain exactly one part accessor element for each of the wsdl:part elements bound to the envelope's corresponding soapbind:body element.
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 | ||||
anyEnvelope | required |
true | binding | BP1701 | R2213 |
Context:
For a candidate non-fault envelope containing a soap:Body element, and is referred by a doc-literal binding
Assertion Description:
The envelope has no element content in the soap:Body element if the value of the parts attribute of the soapbind:body is an empty string in the corresponding doc-literal description.
Failure Message:
The soap:Body element must be empty when, in the corresponding doc-literal description, the value of the parts attribute of soapbind:body is an empty string.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | binding | BP1701 | R2214 |
Context:
For a candidate non-fault envelope containing a soap:Body element, and is referred by a rpc-literal binding
Assertion Description:
The envelope does not contain any part accessor elements if the value of the parts attribute of the soapbind:body is an empty string in the corresponding rpc-literal description.
Failure Message:
The content of the soap:Body element is inconsistent with its description. The envelope must not have any part accessor elements when, in the corresponding rpc-literal description, the value of the parts attribute of soapbind:body is an empty string.
Failure Detail Description:
SOAP envelope
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | binding | BP1701 | R2755 |
Context:
For a candidate non-fault envelope containing a soap:body with at least one element, and that is referred by a binding style rpc-literal
Assertion Description:
Each part accessor element in the envelope has a local name of the same value as the name attribute of the corresponding wsdl:part element.
Failure Message:
The envelope referenced by an rpc-literal binding has a part accessor element with a local name that is not the same value as the name attribute of the corresponding wsdl:part element.
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 | ||||
responseEnvelope | required |
true | requestEnvelope | binding | BP1601
BP1202 | R2729 |
Context:
For a candidate non-fault envelope in a response message, that has a soap:body with at least a child element, and is
referenced by a rpc-literal binding to a WSDL request-response operation
Assertion Description:
The envelope has a wrapper element with a name equal to the name attribute on the wsdl:operation element suffixed with string "Response".
Failure Message:
Wrapper element in the envelope does not have a value equal to the name attribute on the wsdl:operation element suffixed with string "Response".
Failure Detail Description:
Comments:
Assume a correlation with WSDL binding entry is needed.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | recommended |
true | BP1701 | R1004 |
Context:
For an envelope in a response message containing a soap:Fault element with a faultcode child element
Assertion Description:
The soap:faultcode value in the soap:Fault element of the envelope is either one of: VersionMismatch, MustUnderstand, Client, Server, or is qualified by a namespace.
Failure Message:
The soap:faultcode value in the soap:Fault element of the envelope is not one of: VersionMismatch, MustUnderstand, Client, Server, or is not qualified by a namespace.
Failure Detail Description:
SOAP envelope in a response message.
Comments:
If namespace qualified, the namespace is other than http://schemas.xmlsoap.org/soap/envelope/, per (assumed) conformance to SOAP.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | BP1701 | R1003 |
Context:
For an envelope in a response message containing a soap:Fault element, if there is any qualified attribute for the detail element
Assertion Description:
The namespace of a qualified attribute appearing on the detail element in the soap:Fault
is a foreign namespace, different from "http://schemas.xmlsoap.org/soap/envelope/".
Failure Message:
The soap:Fault message contains detail element with attributes qualified with a non-foreign namespace.
Failure Detail Description:
SOAP message.
Comments:
this is a narrowing of the schema, which allows any namespace.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | recommended |
true | responseMessage | BP1701 | R1111 |
Context:
For a candidate non-fault envelope in a response message
Assertion Description:
The message uses a "200 OK" HTTP status code.
Failure Message:
The envelope of the response message does not contain a soap:Fault and the message does not use a "200 OK" HTTP status code.
Failure Detail Description:
Complete message.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | [Not specified] | R9980 |
Context:
For a candidate envelope
Assertion Description:
The envelope conforms to the structure specified in SOAP 1.1 Section 4.
Failure Message:
The envelope does not conform to the structure specified in SOAP 1.1 Section 4
Failure Detail Description:
SOAP envelope.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | [Not specified] | [Not specified] | [Not specified] | [Not specified] |
Context:
For a candidate non-empty envelope
Assertion Description:
The soap:envelope and soap:body are well-formed XML 1.0 documents.
Failure Message:
The soap:Envelope or soap:Body does not conform to XML 1.0.
Failure Detail Description:
{SOAP envelope}{any XML parser error messages}
Comments:
Assumed in underlying spec, though no formal Rxxxx for it. 1st step in a 3-phase verification process: XMLvalid + namespace check + schemavalid.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1601 | [Not specified] | [Not specified] | [Not specified] |
Context:
For a candidate envelope
Assertion Description:
The envelope has a document element named "Envelope" with namespace http://schemas.xmlsoap.org/soap/envelope/.
Failure Message:
The envelope does not use SOAP 1.1, i.e. does not have a document element named "Envelope" or a namespace value of http://schemas.xmlsoap.org/soap/envelope/.
Failure Detail Description:
SOAP envelope.
Comments:
Assumed in underlying spec, though no formal Rxxxx for it (run-time version of R2700). 2nd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R1014 |
Context:
For a candidate envelope containing a soap:body with at least one child element
Assertion Description:
Each child element (if any) of the soap:Body element is namespace qualified (not the grandchildren).
Failure Message:
A child element of the soap:Body element is not namespace qualified.
Failure Detail Description:
SOAP envelope.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1201 | [Not specified] | [Not specified] | [Not specified] |
Context:
For a candidate envelope
Assertion Description:
The envelope conforms to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/
Failure Message:
The envelope does not conform to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/.
Failure Detail Description:
SOAP message.
Comments:
Assumed in underlying spec, though no formal Rxxxx for it. 3rd step in a 3-phase verification process: XMLvalid + namespace check + schemavalid.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
responseEnvelope | required |
true | requestEnvelope | operation | BP1701 | R1015 |
Context:
For a candidate envelope in a response message, that is a part of a Request-Response operation where the request contains a soap:Envelope with a document element with name: "Envelope" and a namespace different than "http://schemas.xmlsoap.org/soap/envelope/".
Assertion Description:
A soap:Fault is generated as response.
Failure Message:
A soap:Fault is not generated for a document element named "Envelope" that had namespace
different from: "http://schemas.xmlsoap.org/soap/envelope/"
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 | ||||
anyEnvelope | required |
true | BP1701 | R1008 |
Context:
For a candidate envelope
Assertion Description:
DTDs relating to soap:header or soap:body documents, are not present in the envelope: no DOCTYPE element is present.
Failure Message:
The soap:header or soap:body elements in the envelope, were described with an included DTD.
Failure Detail Description:
SOAP envelope.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | BP1701 | R1009 |
Context:
For a candidate envelope
Assertion Description:
The SOAP envelope does not include XML processing instructions.
Failure Message:
a SOAP envelope contains XML processing instructions.
Failure Detail Description:
SOAP envelope.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | required |
true | binding | BP1601
BP1202 | R2738
R2739 | R2747
R2748 |
Context:
For a candidate non-fault envelope containing a soap:body with at least a child element, and that is not a response message to a one-way WSDL operation
Assertion Description:
The Envelope includes all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of the operation referred to by its wsdl:binding, and may also include headers that were not specified.
Failure Message:
Envelope does not include all soapbind:headers specified in the wsdl:input (if request) or wsdl:output (if response) of its bound operation.
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 | ||||
anyEnvelope | required |
true | BP1701 | R1011 |
Context:
For a candidate envelope containing a soap:Body element
Assertion Description:
The soap:Envelope does not have direct children after the soap:Body element
Failure Message:
The soap:Envelope has a direct child after the soap:Body element.
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 | ||||
anyEnvelope | informational |
true | binding | [Not specified] | E0001 |
Context:
For a candidate envelope containing a header block that is either mandatory or is not described in the wsdl:binding.
Assertion Description:
An envelope contains a header block that is either mandatory or is not described in the wsdl:binding.
Detail Description:
Header blocks are the fundamental extensibility mechanism in SOAP.
Comments:
This assertion is for the header blocks extensibility element.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | informational |
true | [Not specified] | E0004 |
Context:
For a candidate envelope containing a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".
Assertion Description:
A header element in the envelope contains a soap:actor attribute with a value other than the special uri "http://schemas.xmlsoap.org/soap/actor/next".
Detail Description:
Values of the soap:actor attribute, other than the special uri "http://schemas.xmlsoap.org/soap/actor/next", represent a private agreement between parties of the web service.
Comments:
The soap:actor attribute is an extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | informational |
true | [Not specified] | E0005 |
Context:
For a candidate envelope containing a fault with a non-empty detail element.
Assertion Description:
A Fault element in an envelope contains a non-empty detail element.
Detail Description:
The contents of a Fault's detail element are not prescribed by SOAP 1.1.
Comments:
[Not specified]
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | informational |
true | [Not specified] | E0025 |
Context:
For a candidate envelope containing a soap:Body element with local or namespaced attributes.
Assertion Description:
An envelope contains a soap:Body element with local or namespaced attributes.
Detail Description:
A namespaced or local attribute on a soap:Body element is considered an extensibility point because it is not constrained by SOAP 1.1.
Comments:
Note that a namespace declaration on a soap:Body element is not considered an extensibility point.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | driverTestable |
false | [Not specified] | R1002
R1016 |
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.
Entry Type | Test Type | Enabled | Additional Entry Types | Prerequisites | Profile Requirements | |||
Message Input | WSDL Input | Target | Partial-Target | Collateral | ||||
anyEnvelope | notTestable |
false | [Not specified] | R1017
R1025 R1027 R1028 R1029 R1030 R1107 R2753 E0002 E0003 E0006 E0024 |
Context:
Not testable.
Assertion Description:
Not testable.
Failure Message:
Failure Detail Description:
Comments:
All of these profile requirements are NOT testable.
Some of these test assertions represent capabilities which
can not be validated.
Note: That E0024 as stated, is really not worth testing because
it is always true since there is always at least one namespace declaration
(i.e., the SOAP namespace) defined on the Envelope element.
Total Count: 110
Count By Type:
Type | Count |
required | 79 |
driverTestable | 4 |
recommended | 12 |
informational | 12 |
notTestable | 3 |
Count By Enabled Indicator:
Enabled | Count |
true | 103 |
false | 7 |
This index contains a list of all of the requirements listed in the test assertion document.
The following specifications' requirements are incorporated into the Test Assertion Document (TAD) by reference, except where superseded by the TAD: