WS-I

Basic Profile 1.0 Test Assertions Version 1.1

Final Material

2005-01-12

Editors:
Jacques Durand, Fujitsu (JDurand@us.fujitsu.com)
Simeon Greene, Oracle Corporation (simeon.m.greene@oracle.com)
Peter Brittenham, IBM Corporation (peterbr@us.ibm.com)
Keith Stobie, Microsoft Corporation (kstobie@microsoft.com)
David Lauzon, IBM Corporation (lauzond@ca.ibm.com)
Lucien Kleijkers, Microsoft Corporation (lucienk@microsoft.com)
Other Contributors
Ed Johns (Microsoft Corporation), Narendra Patil (Optimyz), Ajay Honnur (BEA), Rami Jaamour (Parasoft), Shrikant Wagh (Optimyz)
Administrative contact:
secretary@ws-i.org

Abstract

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.

Notice

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

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

Feedback

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

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

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

NOTE

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


Table of Contents

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


Profile Definitions

IDNameVersionRevisionLocation
BP1Basic Profile1.0Finalhttp://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html


Test Assertion Artifacts


Profile Artifact: discovery

The Basic Profile requires support for UDDI V2.0.

Specification Reference List:


Test Assertions [as they appear in the document]:

IDEntry TypeTest TypeEnabled
WSI3021bindingTemplaterequired

false

WSI3001tModelrequired

true

WSI3002bindingTemplaterequired

true

WSI3003tModelrequired

true

WSI3004tModelrequired

true

WSI3006tModelrequired

true

WSI3007bindingTemplaterequired

true

Test Assertions [sorted by ID]:

IDEntry TypeTest TypeEnabled
WSI3001tModelrequired

true

WSI3002bindingTemplaterequired

true

WSI3003tModelrequired

true

WSI3004tModelrequired

true

WSI3006tModelrequired

true

WSI3007bindingTemplaterequired

true

WSI3021bindingTemplaterequired

false


Test Assertion: WSI3021

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

false

nonenone[Not specified]R3021

Context:
For one uddi:tModel from a candidate REGISTRY

Assertion Description:
The uddi:tModel has a "name" element of value "ws-i-org:conformsTo:2002_12" , has an overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and has a keyedReference element with keyName attribute value of "uddi-org:types:categorization".

Failure Message:
The UDDI registry that was referred to does not contain a tModel element with name value "ws-i-org:conformsTo:2002_12" , overviewURL value of "http://ws-i.org/schemas/conformanceClaim/", and keyedReference element with keyName attribute value of "uddi-org:types:categorization".

Failure Detail Description:
UDDI URI

Comments:
WSI3021 has been disabled because it is the only test assertion about the conformance of Registries, which we do not support inthe tools at this time.


Return to top of document.

Test Assertion: WSI3001

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

true

nonedefinitions[Not specified]R3002
R3010
R3011

Context:
For a candidate uddi:tModel

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI3002

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

true

nonenone[Not specified]R3100

Context:
For a candidate uddi:bindingTemplate

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

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

Failure Detail Description:
bindingTemplate key

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI3003

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

true

nonenone[Not specified]R3003

Context:
For a candidate uddi:tModel

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

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

Failure Detail Description:
{tModel key}{categoryBag}

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI3004

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

true

nonebindingWSI3001
WSI3003
R3004

Context:
For a candidate uddi:tModel

Assertion Description:
The conformance claims in the uddi:tModel are the same as those in the wsdl:binding which is referenced by the uddi:tModel.

Failure Message:
The uddi:tModel conformance claims are not the same as those in the wsdl:binding that it references.

Failure Detail Description:
{tModel key}{conformance claims in tModel and binding}

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI3006

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

true

nonenone[Not specified]R3030R3020
R3021

Context:
For a candidate uddi:tModel with one or more conformance claims i.e. which has a categoryBag with a reference to the ws-i-org:conformsTo:2002_12 tModel

Assertion Description:
The uddi:tModel uses the ws-i-org:conformsTo:2002_12 categorization value of "http://ws-i.org/profiles/basic/1.0". The categoryBag in the tModel contains a keyedReference with a tModelKey that contains the key value uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12 tModel.

Failure Message:
The uddi:tModel does not have a categorization value of "http://ws-i.org/profiles/basic/1.0", or the categorybag does not contain a keyedReference with a tModelKey that contains the key value uuid:65719168-72c6-3f29-8c20-62defb0961c0 for the ws-i-org:conformsTo:2002_12 tModel.

Failure Detail Description:
{tModel key}{categoryBag}

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI3007

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

true

nonenone[Not specified]R3005R3021

Context:
For a candidate uddi:bindingTemplate

Assertion Description:
A uddi:businessEntity or uddi:businessService associated with this uddi:bindingTemplate is not categorized using the ws-i-org:conformsTo:2002_12 taxonomy.

Failure Message:
A uddi:businessEntity or uddi:businessService associated with the uddi:bindingTemplate is categorized using the ws-i-org:conformsTo:2002_12 taxonomy, while it should not.

Failure Detail Description:
{businessEntity key and/or businessService key}{categoryBag}

Comments:
[Not specified]


Return to top of document.


Profile Artifact: description

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

Specification Reference List:


Test Assertions [as they appear in the document]:

IDEntry TypeTest TypeEnabled
WSI2201definitionsrequired

true

WSI2202typesrequired

true

WSI2700definitionsrequired

true

WSI2102typesrequired

true

WSI2011typesrequired

true

WSI2701definitionsrequired

true

WSI2703definitionsrequired

true

WSI2018definitionsrequired

true

WSI2208operationrequired

true

WSI2010portTyperequired

true

WSI2020bindingrequired

true

WSI2021bindingrequired

true

WSI2402bindingrequired

true

WSI2403bindingrequired

true

WSI2022bindingrequired

true

WSI2032bindingrequired

true

WSI2404bindingrequired

true

WSI2012bindingrequired

true

WSI2406bindingrequired

true

WSI2019bindingrequired

true

WSI2013bindingrequired

true

WSI2014operationrequired

true

WSI2017bindingrequired

true

WSI2099definitionsrequired

true

WSI2100definitionsrequired

true

WSI2101definitionsrequired

true

WSI2098importrequired

true

WSI2103definitionsrequired

true

WSI2104definitionsrequired

true

WSI2105definitionsrequired

true

WSI2416definitionsrequired

true

WSI2417definitionsrequired

true

WSI2107typesrequired

true

WSI2108typesrequired

true

WSI2110typesrecommended

true

WSI2111bindingrequired

true

WSI2112bindingrequired

true

WSI2113bindingrequired

true

WSI2115messagerequired

true

WSI2116messagerequired

true

WSI2117bindingrequired

true

WSI2118bindingrequired

true

WSI2114bindingrecommended

true

WSI2119bindingrequired

true

WSI2120bindingrequired

true

WSI2122typesrequired

true

WSI2123definitionsrecommended

true

WSI4200definitionsinformational

true

WSI4201definitionsinformational

true

WSI4202typesinformational

true

WSI2998definitionsdriverTestable

false

WSI2999definitionsnotTestable

false

Test Assertions [sorted by ID]:

IDEntry TypeTest TypeEnabled
WSI2010portTyperequired

true

WSI2011typesrequired

true

WSI2012bindingrequired

true

WSI2013bindingrequired

true

WSI2014operationrequired

true

WSI2017bindingrequired

true

WSI2018definitionsrequired

true

WSI2019bindingrequired

true

WSI2020bindingrequired

true

WSI2021bindingrequired

true

WSI2022bindingrequired

true

WSI2032bindingrequired

true

WSI2098importrequired

true

WSI2099definitionsrequired

true

WSI2100definitionsrequired

true

WSI2101definitionsrequired

true

WSI2102typesrequired

true

WSI2103definitionsrequired

true

WSI2104definitionsrequired

true

WSI2105definitionsrequired

true

WSI2107typesrequired

true

WSI2108typesrequired

true

WSI2110typesrecommended

true

WSI2111bindingrequired

true

WSI2112bindingrequired

true

WSI2113bindingrequired

true

WSI2114bindingrecommended

true

WSI2115messagerequired

true

WSI2116messagerequired

true

WSI2117bindingrequired

true

WSI2118bindingrequired

true

WSI2119bindingrequired

true

WSI2120bindingrequired

true

WSI2122typesrequired

true

WSI2123definitionsrecommended

true

WSI2201definitionsrequired

true

WSI2202typesrequired

true

WSI2208operationrequired

true

WSI2402bindingrequired

true

WSI2403bindingrequired

true

WSI2404bindingrequired

true

WSI2406bindingrequired

true

WSI2416definitionsrequired

true

WSI2417definitionsrequired

true

WSI2700definitionsrequired

true

WSI2701definitionsrequired

true

WSI2703definitionsrequired

true

WSI2998definitionsdriverTestable

false

WSI2999definitionsnotTestable

false

WSI4200definitionsinformational

true

WSI4201definitionsinformational

true

WSI4202typesinformational

true


Test Assertion: WSI2201

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

true

nonenone[Not specified]R4003

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

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

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

Failure Detail Description:
XML declaration statement.

Comments:
checks WSDL encoding.


Return to top of document.

Test Assertion: WSI2202

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

true

nonenone[Not specified]R2010

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

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

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

Failure Detail Description:
XML declaration statement.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2700

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

true

nonenone[Not specified]R4004R0001

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

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

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

Failure Detail Description:
Error message from the XML parser

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


Return to top of document.

Test Assertion: WSI2102

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

true

nonenone[Not specified]R2002
R2004

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

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

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

Failure Detail Description:
Defective XML schema import element.

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


Return to top of document.

Test Assertion: WSI2011

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

true

nonenoneWSI2102R2011

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2701

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

true

nonenone[Not specified]R0001

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

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

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

Failure Detail Description:

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


Return to top of document.

Test Assertion: WSI2703

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

true

nonenone[Not specified]R2029
R2028
R0001

Context:
For a candidate description within a WSDL document

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

Failure Message:
WSDL definition does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd for some element using the WSDL-SOAP binding namespace, or does not conform to the schema located at http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd for some element using the WSDL namespace.

Failure Detail Description:
Error message from the XML parser.

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


Return to top of document.

Test Assertion: WSI2018

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

true

nonenoneWSI2703R2023

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

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

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

Failure Detail Description:

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2208

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

true

nonenoneWSI2703R2303

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

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

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

Failure Detail Description:
Operation.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2010

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

true

nonenoneWSI2703R2304

Context:
For a candidate wsdl:portType definition

Assertion Description:
"Name" attributes of Operations are unique across the wsdl:portType definition

Failure Message:
names are not unique within the portType definition.

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2020

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

true

nonenone[Not specified]R2717

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

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

Failure Message:
A soapbind:body element does not have a namespace attribute, or the namespace attribute value is not an absolute URI.

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2021

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

true

nonenoneWSI2703R2720
R2749

Context:
For a candidate wsdl:binding element

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

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

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

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


Return to top of document.

Test Assertion: WSI2402

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

true

nonenoneWSI2703R2401

Context:
For a candidate wsdl:binding element

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

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

Failure Detail Description:
wsdl:binding.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2403

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

true

nonenoneWSI2402R2401
R9801

Context:
For a candidate wsdl:binding element

Assertion Description:
Descendant elements and attributes in the wsdl:binding are not from the namespaces of WSDL MIME, HTTP GET/POST or DIME binding extensions.

Failure Message:
A descendant element or attribute in the wsdl:binding is from a namespace of WSDL MIME, HTTP GET/POST or DIME binding extensions.

Failure Detail Description:
Defective descendant element or attribute

Comments:
The namespace for the WSDL MIME, HTTP GET/POST and DIME binding extensions respectively are assumed to be: http://schemas.xmlsoap.org/wsdl/mime/ http://schemas.xmlsoap.org/wsdl/http/ http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/


Return to top of document.

Test Assertion: WSI2022

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

true

nonenone[Not specified]R2721

Context:
For a candidate wsdl:binding element

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

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

Failure Detail Description:
Defective soapbind:fault element

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2032

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

true

nonenone[Not specified]R2754

Context:
For a candidate wsdl:binding element

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

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

Failure Detail Description:
Defective soapbind:fault element

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2404

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

true

nonenoneWSI2703
WSI2402
R2701
R2702

Context:
For a candidate wsdl:binding element

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

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

Failure Detail Description:
soap:binding element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2012

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

true

nonenoneWSI2404R2204

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

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

Failure Message:
The binding (in soapbind:body elements) refers to part(s) of a soap:body element that do not have the "element" attribute.

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2406

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

true

nonenoneWSI2703R2706
R2723
R2707

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

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

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

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

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


Return to top of document.

Test Assertion: WSI2019

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

true

nonenoneWSI2406R2716

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

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

Failure Message:
The binding is of style "document" and use "literal", and the "namespace" attribute is specified in some soapbind:body, soapbind:header, soapbind::headerfault, soapbind:fault element

Failure Detail Description:
Contained element with namespace attribute.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2013

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

true

nonenone[Not specified]R2203

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

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

Failure Message:
soap:binding (in soapbind:body elements) refers to part(s) that do not have the "type" attribute.

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2014

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

true

nonenone[Not specified]R2305

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

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

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

Failure Detail Description:
{defective operation name}{output wsdl:message}

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2017

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

true

nonenoneWSI2404R2705R2706

Context:
For a candidate wsdl:binding

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

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

Failure Detail Description:
defective soap:binding element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2099

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

true

nonenone[Not specified]R0003

Context:
For a candidate wsdl:definitions with conformance annotations,

Assertion Description:
Each WS-I conformance annotation is child of the wsdl:documentation of either wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message elements.

Failure Message:
A WS-I conformance annotation appears within an element where it is not permitted, i.e. is not a child of the wsdl:documentation of either wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message elements.

Failure Detail Description:
Defective element name(s) that contain the conformance annotation.

Comments:
This assertion is processed once for each WSDL description.


Return to top of document.

Test Assertion: WSI2100

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

true

nonenoneWSI2099R0002

Context:
For a candidate wsdl:definitions, if it contains a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, which in turn contains a conformance annotation

Assertion Description:
The conformance annotation of the wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message, validates to the schema defined in the Basic Profile, and is direct child of the documentation element for the WSDL element. The schema definition uses "http://ws-i.org/schemas/conformanceClaim/" as the targetNamespace.

Failure Message:
The conformance annotation for a wsdl:port, wsdl:binding, wsdl:portType, wsdl:operation, or wsdl:message is not correct: either no direct child of the documentation element, or does not validate to the conformanceClaim schema.

Failure Detail Description:
Element name(s) that contain the defective conformance annotation.

Comments:
This assertion is processed once for each WSDL description.


Return to top of document.

Test Assertion: WSI2101

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

true

nonenoneWSI2703R2001

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2098

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

true

nonenone[Not specified]R2007

Context:
For a candidate wsdl:import element

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

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

Failure Detail Description:
Defective wsdl:import element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2103

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

true

nonenone[Not specified]R2003

Context:
For each a candidate wsdl:definitions

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

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

Failure Detail Description:
Defective XML schema import element.

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


Return to top of document.

Test Assertion: WSI2104

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

true

nonenoneWSI2101R2005

Context:
For a candidate wsdl:import

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

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

Failure Detail Description:
wsdl:import element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2105

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

true

nonenone[Not specified]R2022

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2416

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

true

nonenone[Not specified]R2101

Context:
For a candidate wsdl:definitions

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

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

Failure Detail Description:
Defective QName(s).

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


Return to top of document.

Test Assertion: WSI2417

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

true

nonenone[Not specified]R2102
R2101

Context:
For a candidate wsdl:definitions

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

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

Failure Detail Description:
Defective QName(s).

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


Return to top of document.

Test Assertion: WSI2107

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

true

nonenone[Not specified]R2105

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2108

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

true

nonenone[Not specified]R2110
R2111

Context:
For a candidate wsdl:types

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

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

Failure Detail Description:
Defective declaration(s).

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


Return to top of document.

Test Assertion: WSI2110

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

true

nonenone[Not specified]R2112

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

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

Failure Message:
A declaration is using the convention ArrayOfXXX.

Failure Detail Description:
Defective declaration(s).

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


Return to top of document.

Test Assertion: WSI2111

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

true

nonenone[Not specified]R2201

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2112

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

true

nonenone[Not specified]R2207

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2113

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

true

nonenone[Not specified]R2205

Context:
For a candidate wsdl:binding element

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2115

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

true

nonenone[Not specified]R2206

Context:
For a candidate wsdl:message

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

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

Failure Detail Description:
Defective wsdl:message element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2116

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

true

nonenone[Not specified]R2306

Context:
For a candidate wsdl:message element

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

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

Failure Detail Description:
Defective wsdl:message element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2117

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

true

nonenoneWSI2017
WSI2406
R2726

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2118

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

true

nonenone[Not specified]R2718

Context:
For a candidate wsdl:binding element

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2114

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

true

nonenoneWSI2118R2209

Context:
For a candidate wsdl:binding element

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2119

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

true

nonenoneWSI2404R2210

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

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

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

Failure Detail Description:
Defective wsdl:binding element.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2120

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

true

nonenone[Not specified]R2710

Context:
For a candidate wsdl:binding

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI2122

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

true

nonenone[Not specified]R2801

Context:
For a candidate wsdl:types element

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

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

Failure Detail Description:
Defective data type definition.

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


Return to top of document.

Test Assertion: WSI2123

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

true

nonenone[Not specified]R2026

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

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

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

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI4200

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

true

[Not specified]

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

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

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

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


Return to top of document.

Test Assertion: WSI4201

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

true

[Not specified]

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

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI4202

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

true

WSI2202
WSI2011

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:
An XML schema defined in the wsdl:types element, or imported directly or indirectly by a schema defined in the wsdl:types element, contains annotation elements.

Comments:
Schema annotations are an extensibility point.


Return to top of document.

Test Assertion: WSI2998

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

false

nonenone[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.


Return to top of document.

Test Assertion: WSI2999

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

false

nonenone[Not specified]R2025
R2027
R2008
R2020
R2021
R2024
R2202
R2208
R2114
R2302
R2742
R2743
R2750
R4001
R2707
R2711
R2727
R2719
R2722
R2728
R2724
R2725
R2741
R2747
R2748
R2751
R2753
R2752
R2800
R4002
R2009
R9800

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.


Return to top of document.


Profile Artifact: message

The Basic Profile requires support for SOAP 1.1 and HTTP 1.0 or 1.1.

Specification Reference List:


Test Assertions [as they appear in the document]:

IDEntry TypeTest TypeEnabled
WSI1004requestMessagerequired

true

WSI1006requestMessagerequired

true

WSI1601anyMessagerequired

true

WSI1201anyMessagerequired

true

WSI1701anyMessagerequired

true

WSI1308anyMessagerequired

true

WSI1011requestMessagerequired

true

WSI1013responseMessagerequired

true

WSI1007anyMessagerequired

true

WSI1202anyMessagerequired

true

WSI1204anyMessagerequired

true

WSI1208anyMessagerequired

true

WSI1301anyMessagerequired

true

WSI1306anyMessagerequired

true

WSI1031anyMessagerecommended

true

WSI1316anyMessagerequired

true

WSI1307anyMessagerequired

true

WSI1318anyMessagerequired

true

WSI1309anyMessagerequired

true

WSI1116requestMessagerequired

true

WSI1008anyMessagerequired

true

WSI1211anyMessagerequired

true

WSI1009anyMessagerequired

true

WSI1002anyMessagerequired

true

WSI1001anyMessagerecommended

true

WSI1012responseMessagerequired

true

WSI1005responseMessagerequired

true

WSI1010responseMessagerequired

true

WSI1302responseMessagerecommended

true

WSI1305responseMessagerequired

true

WSI1203anyMessagerequired

true

WSI1003anyMessagerequired

true

WSI1100responseMessagerecommended

true

WSI1101responseMessagerecommended

true

WSI1103responseMessagerecommended

true

WSI1104responseMessagerecommended

true

WSI1107responseMessagerecommended

true

WSI1109anyMessagerequired

true

WSI1110anyMessagerequired

true

WSI1111anyMessagerequired

true

WSI4100anyMessageinformational

true

WSI4101anyMessageinformational

true

WSI4102anyMessageinformational

true

WSI4103anyMessageinformational

true

WSI4104anyMessageinformational

true

WSI4105anyMessageinformational

true

WSI4106responseMessageinformational

true

WSI4107requestMessageinformational

true

WSI1998anyMessagedriverTestable

false

WSI1999anyMessagenotTestable

false

Test Assertions [sorted by ID]:

IDEntry TypeTest TypeEnabled
WSI1001anyMessagerecommended

true

WSI1002anyMessagerequired

true

WSI1003anyMessagerequired

true

WSI1004requestMessagerequired

true

WSI1005responseMessagerequired

true

WSI1006requestMessagerequired

true

WSI1007anyMessagerequired

true

WSI1008anyMessagerequired

true

WSI1009anyMessagerequired

true

WSI1010responseMessagerequired

true

WSI1011requestMessagerequired

true

WSI1012responseMessagerequired

true

WSI1013responseMessagerequired

true

WSI1031anyMessagerecommended

true

WSI1100responseMessagerecommended

true

WSI1101responseMessagerecommended

true

WSI1103responseMessagerecommended

true

WSI1104responseMessagerecommended

true

WSI1107responseMessagerecommended

true

WSI1109anyMessagerequired

true

WSI1110anyMessagerequired

true

WSI1111anyMessagerequired

true

WSI1116requestMessagerequired

true

WSI1201anyMessagerequired

true

WSI1202anyMessagerequired

true

WSI1203anyMessagerequired

true

WSI1204anyMessagerequired

true

WSI1208anyMessagerequired

true

WSI1211anyMessagerequired

true

WSI1301anyMessagerequired

true

WSI1302responseMessagerecommended

true

WSI1305responseMessagerequired

true

WSI1306anyMessagerequired

true

WSI1307anyMessagerequired

true

WSI1308anyMessagerequired

true

WSI1309anyMessagerequired

true

WSI1316anyMessagerequired

true

WSI1318anyMessagerequired

true

WSI1601anyMessagerequired

true

WSI1701anyMessagerequired

true

WSI1998anyMessagedriverTestable

false

WSI1999anyMessagenotTestable

false

WSI4100anyMessageinformational

true

WSI4101anyMessageinformational

true

WSI4102anyMessageinformational

true

WSI4103anyMessageinformational

true

WSI4104anyMessageinformational

true

WSI4105anyMessageinformational

true

WSI4106responseMessageinformational

true

WSI4107requestMessageinformational

true


Test Assertion: WSI1004

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

true

nonenone[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]


Return to top of document.

Test Assertion: WSI1006

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

true

nonenone[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]


Return to top of document.

Test Assertion: WSI1601

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

true

nonenone[Not specified][Not specified][Not specified][Not specified]

Context:
For a candidate message in the message log file, which is not an empty message

Assertion Description:
The soap:envelope and soap:body in the message 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 message}{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.


Return to top of document.

Test Assertion: WSI1201

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

true

nonenoneWSI1601[Not specified][Not specified][Not specified]

Context:
For a candidate message in the message log file, that has an HTTP entity-body

Assertion Description:
The message entity-body is a soap:Envelope the namespace of which has value: http://schemas.xmlsoap.org/soap/envelope/.

Failure Message:
The soap:envelope of a message does not use SOAP 1.1, i.e. does not have a namespace value of http://schemas.xmlsoap.org/soap/envelope/.

Failure Detail Description:
SOAP message.

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.


Return to top of document.

Test Assertion: WSI1701

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

true

nonenoneWSI1201[Not specified][Not specified][Not specified]

Context:
For a candidate message in the message log file, that has an HTTP entity-body

Assertion Description:
The HTTP entity-body is a soap:Envelope conforming to the SOAP schema located at http://schemas.xmlsoap.org/soap/envelope/

Failure Message:
The message entity-body does not contain a soap:Envelope conforming 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.


Return to top of document.

Test Assertion: WSI1308

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

true

nonenoneWSI1701R1006

Context:
For a candidate message in the message log file, if it contains a soap:Body element

Assertion Description:
The children elements of soap:Body do not have 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]


Return to top of document.

Test Assertion: WSI1011

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

true

noneoperationWSI1701
WSI1308
R2301
R2712
R2710
R2742
R2743
R2748

Context:
For a candidate request message in the message log file, without soap:Fault

Assertion Description:
The content of the message 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 corresponding wsdl:message.

Failure Message:
The content of the request message did not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message, 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 message.

Comments:
R2710, R2742 R2743 and R2748 used as "assumed" reqts, not reqts to verify. The soap:encodingStyle verification done by pre-req WSI1308 on children, is not done for grand-children (WSI1318 coul dnot be a pre-req)


Return to top of document.

Test Assertion: WSI1013

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

true

requestMessageoperationWSI1701R2301
R2712
R2710
R2742
R2743
R2748

Context:
For a candidate response message in the message log file, if it does not contain a soap:Fault

Assertion Description:
The content of the message 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 corresponding wsdl:message.

Failure Message:
The content of the response message did not match the wsdl:message definition. The order of parts in soap:body does not match the order of wsdl:partS in wsdl:message, 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 message.

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 WSI1005 which could not be a pre-requisite due to a narrower context)


Return to top of document.

Test Assertion: WSI1007

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

true

nonenoneWSI1701R1008

Context:
For a candidate message, in the message log file

Assertion Description:
DTDs relating to soap:header or soap:body documents, are not present in the message: no DOCTYPE element is present.

Failure Message:
The soap:header or soap:body elements in message, were described with an included DTD.

Failure Detail Description:
SOAP message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1202

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

true

nonenoneWSI1701R1014

Context:
For a candidate message in the message log file, with 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 message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1204

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

true

nonenoneWSI1701R2113

Context:
For a candidate message, containing a soap:envelope, in the message log file

Assertion Description:
The message soap:body does not contain the soapenc:arrayType attribute.

Failure Message:
The message soap:body contains the soapenc:arrayType attribute.

Failure Detail Description:
SOAP message.

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.


Return to top of document.

Test Assertion: WSI1208

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

true

nonenoneWSI1701R1009

Context:
For a candidate message in the message log file

Assertion Description:
The SOAP message does not include XML processing instructions.

Failure Message:
a SOAP message contains XML processing instructions.

Failure Detail Description:
SOAP message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1301

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

true

nonenoneWSI1701R1013

Context:
For a candidate message in the message log file, if "mustUnderstand" attribute is present

Assertion Description:
The "mustUnderstand" attribute in the message has one of two values: 1, 0.

Failure Message:
The "mustUnderstand" attribute in a message has a value different from: 1, 0.

Failure Detail Description:
SOAP message, plus request message if it is a response.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1306

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

true

nonenoneWSI1701R1000

Context:
For a candidate message in the message log file, if it contains 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 children elements are not standard, i.e. is neither soap:faultcode, soap:faultstring, soap:faultactor nor soap:detail.

Failure Detail Description:
SOAP message

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1031

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

true

nonenoneWSI1701R1031

Context:
For a candidate message in the message log file, if it contains 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 message

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1316

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

true

nonenoneWSI1701R1001

Context:
For a candidate message in the message log file, if it contains 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 children elements are qualified.

Failure Detail Description:
SOAP message

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1307

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

true

nonenoneWSI1701R1005

Context:
For a candidate message in the message log file, if it contains elements with namespace "http://schemas.xmlsoap.org/soap/envelope/"

Assertion Description:
The elements of the message that are namespaced "http://schemas.xmlsoap.org/soap/envelope/" do not have a soap:encodingStyle attribute.

Failure Message:
One or more message elements namespaced "http://schemas.xmlsoap.org/soap/envelope/" have a soap:encodingStyle attribute.

Failure Detail Description:
SOAP message

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1318

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

true

noneoperationWSI1701
WSI1202
R1007

Context:
For a candidate message in the message log file, if it contains a soap:Body element, and is referred by an rpc-literal binding

Assertion Description:
The grandchildren elements of soap:Body of the message referred by an rpc-literal binding do not have a soap:encodingStyle attribute.

Failure Message:
At least one grandchild of the soap:Body element of a message referred by an rpc-literal binding has a soap:encodingStyle attribute.

Failure Detail Description:
SOAP message

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1309

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

true

nonenoneWSI1701R1011

Context:
For a candidate message in the message log file, if it contains 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]


Return to top of document.

Test Assertion: WSI1116

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

true

nonebindingWSI1006
WSI1701
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]


Return to top of document.

Test Assertion: WSI1008

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

true

nonebindingWSI1701R2735
R2737

Context:
For a candidate message in the message log file, that is not a fault message, that has a soap:body with at least a child element, and is referred by a binding style RPC-literal

Assertion Description:
Message 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:
Message 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]


Return to top of document.

Test Assertion: WSI1211

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

true

nonebindingWSI1701R2211

Context:
For a candidate message without soap:Fault in the message log file, that is referred by a binding style RPC-literal, and that has a soap:body with at least a child element

Assertion Description:
Part accessor elements in the message do not have an xsi:nil attribute with a value of "1" or "true".

Failure Message:
Message 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]


Return to top of document.

Test Assertion: WSI1009

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

true

nonebindingWSI1601
WSI1202
R2738
R2739

Context:
For a candidate message in the message log file, that has a soap:body with at least a child element, does not have a soap:Fault, and that is not a response message to a one-way WSDL operation

Assertion Description:
The Message 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:
Message 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]


Return to top of document.

Test Assertion: WSI1002

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

true

nonenone[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]


Return to top of document.

Test Assertion: WSI1001

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

true

nonenoneWSI1002R1140

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]


Return to top of document.

Test Assertion: WSI1012

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

true

requestMessageoperationWSI1701R1015

Context:
For a candidate response message in the message log file, that belongs to 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]


Return to top of document.

Test Assertion: WSI1005

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

true

requestMessagebindingWSI1601
WSI1202
R2729

Context:
For a candidate response message in the message log file, that is referenced by a rpc-literal binding to a WSDL request-response operation, that has a soap:body with at least a child element

Assertion Description:
The Message 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 response message 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.


Return to top of document.

Test Assertion: WSI1010

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

true

requestMessageoperation[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.


Return to top of document.

Test Assertion: WSI1302

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

true

nonenoneWSI1701R1004

Context:
For each response message in the message log file, which is a response to <bad> inbound messages to a candidate Web service/port, if it contains a soap:Fault element with a faultcode child element

Assertion Description:
The soap:faultcode value in the soap:Fault element of the response message 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 response message is not one of: VersionMismatch, MustUnderstand, Client, Server, or is not qualified by a namespace.

Failure Detail Description:
Response SOAP message.

Comments:
If namespace qualified, the namespace is other than http://schemas.xmlsoap.org/soap/envelope/, per (assumed) conformance to SOAP.


Return to top of document.

Test Assertion: WSI1305

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

true

nonenoneWSI1701R1126

Context:
For a candidate response message in the message log file, which is a response to <bad> inbound messages to a candidate Web service/port, if it contains 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 message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1203

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

true

nonenoneWSI1701R1003

Context:
For a candidate message in the log message file, that is a soap:Fault message, 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.


Return to top of document.

Test Assertion: WSI1003

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

true

nonenone[Not specified]R1012
R1018

Context:
For a candidate message in the log file, which has a non-empty entity-body

Assertion Description:
The logged message is a UTF-8 transcript of a message originally encoded as UTF-8 or UTF-16. The HTTP Content-Type header is either UTF-8 or UTF-16. Looking at the messageContent element of the logged message, either (1) it has a BOM attribute which maps the charset value in the Content-Type header, or (2)it has it has an XML declaration which matches the charset value in the Content-Type header, or (4) there is no BOM attribute and no XML declaration, and the charset value is UTF-8.

Failure Message:
Either (1a) the message does not contain a Content-Type header, or (1b) the message contains a Content-Type header but no charset value, or (1c) the charset value is neither UTF-8 nor UTF-16, or (2) there is a BOM attribute in the messageContent element, but its value does not match the charset value, or (3) there is an XML declaration, and the charset value does not match its value, or (4) there is no BOM attribute, no XML declaration, and the charset value in Content-Type header is not UTF-8.

Failure Detail Description:
Complete message.

Comments:
The optional BOM attribute of the messagContent element is added by the Monitor into the log file, based on the original value in the HTTP payload.


Return to top of document.

Test Assertion: WSI1100

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

true

nonenoneWSI1701R1111

Context:
For a candidate response message in the log file, that contains a soap:Envelope without a soap:Fault

Assertion Description:
The message uses a "200 OK" HTTP status code.

Failure Message:
A message does not contain a soap:Fault and does not use a "200 OK" HTTP status code.

Failure Detail Description:
Complete message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1101

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

true

requestMessagenone[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.


Return to top of document.

Test Assertion: WSI1103

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

true

requestMessagenone[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]


Return to top of document.

Test Assertion: WSI1104

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

true

requestMessagenone[Not specified]R1115

Context:
For a candidate response message in the message log file, to a request message that does not contain a content-type of "text/xml"

Assertion Description:
The response contains a "415 Unsupported Media Type" HTTP status code

Failure Message:
The response message to a request that does not contain a content-type of "text/xml", did not contain a 415 HTTP status code

Failure Detail Description:
Both the request and response message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1107

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

true

nonebinding[Not specified]R2740

Context:
For a candidate response message in the message log file, that contains a soapbind:fault element

Assertion Description:
The contained soapbind:fault is defined in the wsdl:binding.

Failure Message:
The response message contained soapbind:fault element(s), but they were not defined in the WSDL description.

Failure Detail Description:
Undefined soapbind:fault element(s).

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1109

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

true

nonenone[Not specified]R0005R0006

Context:
For a candidate message in the message log file, that contains WS-I conformance claims

Assertion Description:
Each conformance claim element is a child of the soap:Header element.

Failure Message:
A message contained a conformance claim which is not a child of the soap:Header element.

Failure Detail Description:
Defective SOAP message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1110

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

true

nonenoneWSI1109R0004R0006

Context:
For a candidate message in the message log file, that contains WS-I conformance claims

Assertion Description:
Each contained conformance claims adheres to the WS-I conformance claim schema defined in the Basic Profile.

Failure Message:
A message contained a conformance claim that does not adhere to the conformance claim schema.

Failure Detail Description:
Defective SOAP message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI1111

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

true

nonenoneWSI1110R0007

Context:
For a candidate message in the message log file, that contains WS-I conformance claims

Assertion Description:
Each contained conformance claim does not have a soap:mustUnderstand attribute.

Failure Message:
A message contained a conformance claim with a soap:mustUnderstand attribute.

Failure Detail Description:
Defective SOAP message.

Comments:
[Not specified]


Return to top of document.

Test Assertion: WSI4100

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

true

nonebinding[Not specified]

Context:
For a candidate message containing a header block that is either mandatory or is not described in the wsdl:binding.

Assertion Description:
An envelope of a message 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. See BP 1.0 Appendix II


Return to top of document.

Test Assertion: WSI4101

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

true

nonenone[Not specified]

Context:
For a candidate message 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 of a message 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. See BP 1.0 Appendix II


Return to top of document.

Test Assertion: WSI4102

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

true

[Not specified]

Context:
For a candidate message containing a fault with a non-empty detail element.

Assertion Description:
A Fault element in an envelope of a message 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]


Return to top of document.

Test Assertion: WSI4103

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

true

[Not specified]

Context:
For a candidate message in the message log file containing an HTTP Authentication header field

Assertion Description:
The message contains an HTTP Authentication header field

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.


Return to top of document.

Test Assertion: WSI4104

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

true

[Not specified]

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.


Return to top of document.

Test Assertion: WSI4105

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

true

[Not specified]

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.


Return to top of document.

Test Assertion: WSI4106

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

true

[Not specified]

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.


Return to top of document.

Test Assertion: WSI4107

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

true

[Not specified]

Context:
For a request message containing an Upgrade field in the HTTP Headers.

Assertion Description:
The request message contains an Upgrade 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.


Return to top of document.

Test Assertion: WSI1998

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

false

nonenone[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.


Return to top of document.

Test Assertion: WSI1999

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

false

nonenone[Not specified]R0006
R1122
R1010
R1017
R1025
R1027
R1028
R1029
R1030
R1107
R1110
R1113
R1119
R1120
R1121
R1123
R1124
R1125
R1130
R1131
R5000
R5001
R5010

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.


Return to top of document.



Test Assertion Counts

Total Count: 109

Count By Type:

TypeCount
required83
recommended11
informational11
driverTestable2
notTestable2

Count By Enabled Indicator:

EnabledCount
false5
true104


Profile Requirement Index

This index contains a list of all of the requirements listed in the test assertion document.

Profile RequirementTest Assertion
R0001WSI2701
R0002WSI2100
R0003WSI2099
R0004WSI1110
R0006WSI1110
R0005WSI1109
R0006WSI1109
R0006WSI1999
R1122WSI1999
R1010WSI1999
R1017WSI1999
R1025WSI1999
R1027WSI1999
R1028WSI1999
R1029WSI1999
R1030WSI1999
R1107WSI1999
R1110WSI1999
R1113WSI1999
R1119WSI1999
R1120WSI1999
R1121WSI1999
R1123WSI1999
R1124WSI1999
R1125WSI1999
R1130WSI1999
R1131WSI1999
R5000WSI1999
R5001WSI1999
R5010WSI1999
R0007WSI1111
R1000WSI1306
R1001WSI1316
R1002WSI1998
R1016WSI1998
R1003WSI1203
R1004WSI1302
R1005WSI1307
R1006WSI1308
R1007WSI1318
R1008WSI1007
R1009WSI1208
R1011WSI1309
R1012WSI1003
R1018WSI1003
R1013WSI1301
R1014WSI1202
R1015WSI1012
R1031WSI1031
R1109WSI1006
R1111WSI1100
R1112WSI1101
R1114WSI1103
R1115WSI1104
R1126WSI1305
R1132WSI1004
R1108WSI1004
R1140WSI1001
R1141WSI1002
R2001WSI2101
R2002WSI2102
R2004WSI2102
R2003WSI2103
R2005WSI2104
R2007WSI2098
R2010WSI2202
R2011WSI2011
R2022WSI2105
R2023WSI2018
R2025WSI2999
R2027WSI2999
R2008WSI2999
R2020WSI2999
R2021WSI2999
R2024WSI2999
R2202WSI2999
R2208WSI2999
R2114WSI2999
R2302WSI2999
R2742WSI2999
R2743WSI2999
R2750WSI2999
R4001WSI2999
R2707WSI2999
R2711WSI2999
R2727WSI2999
R2719WSI2999
R2722WSI2999
R2728WSI2999
R2724WSI2999
R2725WSI2999
R2741WSI2999
R2747WSI2999
R2748WSI2999
R2751WSI2999
R2753WSI2999
R2752WSI2999
R2800WSI2999
R4002WSI2999
R2009WSI2999
R9800WSI2999
R2026WSI2123
R2029WSI2703
R2028WSI2703
R0001WSI2703
R2101WSI2416
R2102WSI2417
R2101WSI2417
R2105WSI2107
R2110WSI2108
R2111WSI2108
R2112WSI2110
R2113WSI1204
R2201WSI2111
R2203WSI2013
R2204WSI2012
R2205WSI2113
R2206WSI2115
R2207WSI2112
R2209WSI2114
R2210WSI2119
R2211WSI1211
R2301WSI1011
R2712WSI1011
R2710WSI1011
R2742WSI1011
R2743WSI1011
R2748WSI1011
R2301WSI1013
R2712WSI1013
R2710WSI1013
R2742WSI1013
R2743WSI1013
R2748WSI1013
R2303WSI2208
R2304WSI2010
R2305WSI2014
R2306WSI2116
R2401WSI2402
R2401WSI2403
R9801WSI2403
R2701WSI2404
R2702WSI2404
R2705WSI2017
R2706WSI2017
R2706WSI2406
R2723WSI2406
R2707WSI2406
R2709WSI2998
R2710WSI2120
R2714WSI1010
R2716WSI2019
R2717WSI2020
R2718WSI2118
R2720WSI2021
R2749WSI2021
R2721WSI2022
R2726WSI2117
R2729WSI1005
R2735WSI1008
R2737WSI1008
R2738WSI1009
R2739WSI1009
R2740WSI1107
R2744WSI1116
R2745WSI1116
R2754WSI2032
R2801WSI2122
R3002WSI3001
R3010WSI3001
R3011WSI3001
R3003WSI3003
R3004WSI3004
R3005WSI3007
R3021WSI3007
R3021WSI3021
R3030WSI3006
R3020WSI3006
R3021WSI3006
R3100WSI3002
R4003WSI2201
R4004WSI2700
R0001WSI2700

Appendix A: Referenced Specifications

The following specifications' requirements are incorporated into the Test Assertion Document (TAD) by reference, except where superseded by the TAD:

Discovery (UDDI):

Description (WSDL):

Message: