Service Component Architecture Client and Implementation Model for C Test Assertions Version 1.1
Committee Draft 01 / Public Review Draft 01
29 April 2010
Specification URIs:
This Version:
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions-cd01.html
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions-cd01.doc
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions-cd01.pdf (Authoritative)
Previous Version:
N/A
Latest Version:
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions.html
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions.doc
http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-test-assertions.pdf (Authoritative)
Technical Committee:
OASIS Service Component Architecture / C and C++ (SCA-C-C++) TC
Chair:
Bryan Aupperle, IBM
Editors:
Bryan Aupperle, IBM
Pete Robbins, IBM
Related work:
This document is related to:
Declared XML Namespaces:
http://docs.oasis-open.org/ns/opencsa/scatests/200903
http://docs.oasis-open.org/ns/opencsa/scatests/2009032
http://test.sca.oasisopen.org/
Abstract:
This document defines the Test Assertions for
the SCA C Client and Implementation Model specification.
The Test Assertions represent the testable items relating to
the normative statements made in the SCA C Client and
Implementation Model specification. The Test Assertions
provide a bridge between the normative statements in the
specification and the conformance TestCases which are designed
to check that an SCA runtime conforms to the requirements of
the specification.
Status:
This document was last revised or approved by the Service Component Architecture / C and C++ TC on the above date. The level of approval is also listed above. Check the “Latest Version” or “Latest Approved Version” location noted above for possible later revisions of this document.
Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/sca-c-cpp/.
For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/sca-c-cpp/ipr.php).
The non-normative errata page for this specification is located at http://www.oasis-open.org/committees/sca-c-cpp/.
Notices
Copyright © OASIS® 2010. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.
Table of Contents
2.1.1 Additions for Program-Based Component Implementation Support
2.7.1 Additions for Program-Based Component Implementation Support
2.9.1 Additions for Program-Based Component Implementation Support
2.10.1 Additions for Program-Based Component Implementation Support
A. Cross Mapping of Normative Statements to Assertions
This document defines the Test Assertions for the SCA Client and Implementation Model for C Specification Version 1.1 [SCA-C].
The test assertions in this document follow the format defined in the OASIS Test Assertion Guidelines specification [TAG].
Test assertions are presented in a tabular format with rows corresponding to the entry types defined in [TAG].
Assertion ID |
C-TA-xxxx |
Source |
[Cx00yy] |
Target |
<kitchenSink/> element of composite file |
Prerequisites |
The <kitchenSink/> element has a @drain attribute |
Predicate |
The @drain attribute value of the <kitchenSink/> element is a URI that identifies a portal into the drainage system of the Domain. |
Prescription Level |
Mandatory |
Tags |
“kitchenSink” “drain” “Domain” |
Assertion ID: Is a unique ID for the test assertion. Its format starts with a 3 letter string that identifies the specification to which it relates - "C" is for the SCA C Client and Implementation Model specification. This is followed by "-TA-" to indicate that this identifier is for a test assertion. This is then followed by a unique 4 digit number.
Source: Is the identifier(s) of the normative statement(s) in the specification to which this assertion relates.
Target: Identifies the target which is addressed by this assertion. This is typically some SCA document element, or other SCA artifact but possibly could identify an SCA implementation and its behavior.
Prerequisites: Defines any prerequisites for this test assertion. The prerequisites may be defined in terms of one or more other test assertions that must be true.
Predicate: The meat of the assertion - something that should evaluate to true or false for the given target.
Prescription Level: Mandatory (for MUST requirements) or Preferred (for SHOULD requirements) or Permitted (for MAY requirements).
Tags: Zero or more labels that may be attached to this test assertion - these tags can be used to group sets of assertions.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119].
[RFC2119] S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.
[SCA-C] OASIS Committee Draft 05, Service Component Architecture Client and Implementation Model for C Specification Version 1.1, March 2010. http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-ccni-1.1-spec-cd05.pdf
[TAG] OASIS Committee Draft 04, Test Assertion Guidelines, February 2010. http://docs.oasis-open.org/tag/guidelines/v1.0/cd04/testassertionsguidelines-cd-04.pdf
Assertion ID |
C-TA-2001 |
Source |
[C20001] |
Target |
<implementation.c/> of <component/> |
Prerequisites |
<component/> declares at least one <service/> |
Predicate |
Each operation of each <service/> declared by the <component/> is implemented by the <implementation.c> |
Prescription Level |
Mandatory |
Tags |
“implementation.c” |
Assertion ID |
C-TA-2003 |
Source |
[C20004] |
Target |
@init or @destroy attribute of a <function/> of an <implementation.c/> |
Prerequisites |
Either the @init or the @destroy attribute of a <function/> element of an <implementation.c/> has a value of true. |
Predicate |
The funcition identified by the @name attribute of the <function/> element has no parameters and a return type of void. |
Prescription Level |
Mandatory |
Tags |
“implementation.c” “lifecycle functions” |
Assertion ID |
C-TA-2006 |
Source |
[C20015] |
Target |
<implementation.c/> of a <component/> |
Prerequisites |
|
Predicate |
Multiple execution threads can simultaneously use an implementation instance. |
Prescription Level |
Mandatory |
Tags |
“implementation.c” |
Assertion ID |
C-TA-2007 |
Source |
[C20006] |
Target |
<function/> element of an <interface.c> |
Prerequisites |
@header attribute of the <interface.c> references a header file containing function declarations that are excluded from the interface via <function/> child elements. |
Predicate |
A function excluded from the interface cannot be invoked. |
Prescription Level |
Mandatory |
Tags |
“interface.c” |
Assertion ID |
C-TA-2008 |
Source |
[C20007] |
Target |
<callbackFunction/> element of an <interface.c> |
Prerequisites |
@callbackHeader attribute of the <interface.c> references a header file containing function declarations that are excluded from the callback interface via <callbackFunction/> child elements. |
Predicate |
A function excluded from the callback interface cannot be invoked. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “callbacks” |
Assertion ID |
C-TA-2011 |
Source |
[C20009] |
Target |
<function/> element in a <interface.c/> element |
Prerequisites |
The <interface.c> element has more than one <function/> elements. |
Predicate |
The @name attribute [of the <function/> element] is not equal to the @name attribute of any other <function/> element in the <interface.c/>. |
Prescription Level |
Mandatory |
Tags |
“interface.c” |
Assertion ID |
C-TA-2012 |
Source |
[C20010] |
Target |
<callbackFunction/> element in a <interface.c/> element |
Prerequisites |
The <interface.c> element has more than one <callbackFunction/> elements. |
Predicate |
The @name attribute [of the <callbackFunction/> element] is not equal to the @name attribute of any other <callbackFunction/> element in the <interface.c/>. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “callbacks” |
Assertion ID |
C-TA-2017 |
Source |
[C20013] |
Target |
<function/> element in a <implementation.c/> element |
Prerequisites |
The <implementation.c> element has more than one <function/> elements. |
Predicate |
The @name attribute [of the <function/> element] is not equal to the @name attribute of any other <function/> element in the <implementation.c/>. |
Prescription Level |
Mandatory |
Tags |
“implementation.c” |
Assertion ID |
C-TA-2018 |
Source |
[C20016] |
Target |
@allowsPassByReference attribute of an <implementation.c/> element or a <<function/> element of an <implementation.c/> element. |
Prerequisites |
The interface of a services is defined with an <interface.c/> element, the client implementation and the service operation implementation of a wire are marked “allowsPassByReference” and a function of the interface has parameters that can be passed by-reference. |
Predicate |
By-reference marshalling is used for the operation invocation. |
Prescription Level |
Permitted |
Tags |
“implementation.c” “allowsPassByReference” |
Assertion ID |
C-TA-2019 |
Source |
[C20017] |
Target |
@allowsPassByReference attribute of an <implementation.c/> element or a <<function/> element of an <implementation.c/> element. |
Prerequisites |
Either the client implementation or the service operation implementation of a wire is not marked “allowsPassByReference” . |
Predicate |
By-value marshalling is used for the operation invocation. |
Prescription Level |
Mandatory |
Tags |
“implementation.c” “allowsPassByReference” |
The test assertions in this section apply to the optional program-based component implementation support. These assertions are only applicable if an implementation supports program-based component implementations.
Assertion ID |
C-TA-2009 |
Source |
[C20006] |
Target |
<function/> element of an <interface.c> |
Prerequisites |
@header attribute of the <interface.c> references a header file that defines operations using message formats and contains struct declarations that are excluded from the interface via <function/> child elements. |
Predicate |
No operation is defined by structs in the header file that are excluded from the interface. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “operation message formats” |
Assertion ID |
C-TA-2010 |
Source |
[C20007] |
Target |
<callbackFunction/> element of an <interface.c> |
Prerequisites |
@callbackHeader attribute of the <interface.c> references a header file that defines operations using message formats and contains struct declarations that are excluded from the callback interface via <callbackFunction/> child elements. |
Predicate |
No operation is defined by structs in the header that are excluded from the interface. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “operation message formats” “callbacks” |
The test assertions in this section apply to the optional proxy function support. These assertions are only applicable if an implementation supports proxy functions.
Assertion ID |
C-TA-3001 |
Source |
[C30001] |
Target |
<reference/> element of a <componentType/> |
Prerequisites |
|
Predicate |
For each operation of the reference there is a generated proxy function. |
Prescription Level |
Permitted |
Tags |
“proxy functions” |
Assertion ID |
C-TA-3002 |
Source |
[C30001] |
Target |
<service/> element of a <componentType/> |
Prerequisites |
The <service/> defines a callback interface. |
Predicate |
For each callback operation of the service there is a generated proxy function. |
Prescription Level |
Permitted |
Tags |
“proxy functions” “callbacks” |
Assertion ID |
C-TA-4001 |
Source |
[C40001] |
Target |
<binding/> of <interface/> |
Prerequisites |
Operation of the <interface/> is designated as using a oneway message exchange pattern. |
Predicate |
The request is queued for later delivery. |
Prescription Level |
Permitted |
Tags |
“oneway operations” |
Assertion ID |
C-TA-6002 |
Source |
[C60002] |
Target |
<implementation.c> of a <component/> |
Prerequisites |
The <component/> declares a <property/> |
Predicate |
The <implementation.c> can use SCAPropertyDataObject to retrieve the value of the property. |
Prescription Level |
Permitted |
Tags |
“programming interface” |
Assertion ID |
C-TA-7001 |
Source |
[C70001] |
Target |
<export.c/> element |
Prerequisites |
The domain has more than one <export.c>. |
Predicate |
The @name attribute of [the <export.c/> element] is not equal to the @name attribute of any other <export.c/> element in the domain. |
Prescription Level |
Mandatory |
Tags |
“export.c” |
Assertion ID |
C-TA-7002 |
Source |
[C70002] |
Target |
<import.c/> element |
Prerequisites |
A contribution has more that one <import.c>. |
Predicate |
The @name attribute of [the <import.c/> element] is not equal to the @name attribute of any other <import.c/> element in the contribution. |
Prescription Level |
Mandatory |
Tags |
“import.c” |
Assertion ID |
C-TA-8001 |
Source |
[C80001] |
Target |
<interface.c/> element |
Prerequisites |
A header file is identified by the attributes of an <interface.c> as defining an interface and declarations of the functions contain macros and typedefs. |
Predicate |
The interface defined by the header file is compatible with the same interface defined without macros and typedefs. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “header files” |
Assertion ID |
C-TA-8002 |
Source |
[C80002] |
Target |
<interface.c/> element |
Prerequisites |
The value of the @remotable attribute of the <interface.c/> is true. |
Predicate |
The return type and the type of the parameters of every function of the interface is either a C fundamental type identified in the Simple Content Binding of the spedification [SCA-C] or a DATAOBJECT. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “header files” |
Assertion ID |
C-TA-8003 |
Source |
[C80003] |
Target |
<interface.c> |
Prerequisites |
A header file is named by either the @header or the @callbackHeader attribute of an <interface.c> |
Predicate |
The header file declares at least one function or at least one message format struct. |
Prescription Level |
Mandatory |
Tags |
“interface.c” “header files” |
Assertion ID |
C-TA-10001 |
Source |
[C100001] |
Target |
PortType mapping |
Prerequisites |
A WSDL definition does not contain a <sca-c:prefix/> element |
Predicate |
Each <portType/> element of the WSDL definition is mapped to a separate header file. |
Prescription Level |
Preferred |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10002 |
Source |
[C100002] |
Target |
Operation mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:function/>. |
Predicate |
The name of the generated function declaration the name of the <operation/> element with the first character converted to lower case. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10004 |
Source |
[C100003] |
Target |
Message mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:parameter/> element for one of it’s message parts. |
Predicate |
The name of the generated function parameter is the name of the message part with the first character converted to lower case. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10006 |
Source |
[C100004] |
Target |
Message mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:parameter/> element for one of it’s wrapper childern. |
Predicate |
The name of the generated function parameter is the name of the wrapper child with the first character converted to lower case. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10008 |
Source |
[C100019] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> is mapped to a C function |
Predicate |
Each in message part or wrapper child is passed by-value Each in/out message part or wrapper child is passed by-pointer Each out message part or wrapper child not named return is passed by-pointer An out message part or wrapper child named return is mapped to the function return type. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10010 |
Source |
[C100006] |
Target |
Fault mapping |
Prerequisites |
A <message/> element is referred to by a <fault/> element of an <operation/> and does not contain an <sca-c:struct/> element. |
Predicate |
The name of the generated message format struct is the name of the <message/> possibly concatenated with “Fault”. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10011 |
Source |
[C100007] |
Target |
Namespace mapping |
Prerequisites |
|
Predicate |
The implementation provides a way to control the default target namespace for generated WSDL definitions. |
Prescription Level |
Preferred |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10012 |
Source |
[C100008] |
Target |
PortType mapping |
Prerequisites |
A header file that does not contain a @WebService annotation is processed. |
Predicate |
The name of the generated portType is the root name of the header file possibly concatenated with “PortType”. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10013 |
Source |
[C100009] |
Target |
Operation mapping |
Prerequisites |
A function declaration does not have a @WebFunction annotation |
Predicate |
An <operation/> is generated with the name of the function without any namespace or portType prefix. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10015 |
Source |
[C100011] |
Target |
Operation mapping |
Prerequisites |
A function declaration does not have a @WebParam annotation for one of its named parameters |
Predicate |
The name of the generated message part or wrapper child is name of the parameter. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10016 |
Source |
[C100011] |
Target |
Operation mapping |
Prerequisites |
A function declaration does not have a @WebParam annotation for one of its unnamed parameters |
Predicate |
The name of the generated message part or wrapper child is “argN” where N is the position of the parameter. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10017 |
Source |
[C100012] |
Target |
Operation mapping |
Prerequisites |
A function declaration does not have a @WebReturn annotation and does not have a void return type. |
Predicate |
The output <message/> for the generated <operation/> has a part or wrapper child named “return”. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10018 |
Source |
[C100017] |
Target |
Operation mapping |
Prerequisites |
A function with parameters, not annotated with @WebParam, that are some subset of by-pointer, by-value, and by-const. |
Predicate |
The function’s return type is mapped to an out message part or wrapper child. Each by-pointer parameter is mapped to an in/out message part or wrapper child. All other parameters are mapped to in message parts or wrapper children. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10022 |
Source |
[C100021] |
Target |
Type mapping |
Prerequisites |
|
Predicate |
A XSD type is mapped according to Table 1 of the specification [SCA-C]. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10023 |
Source |
[C100021] |
Target |
Type mapping |
Prerequisites |
|
Predicate |
A C type is mapped according to Tables 1 and 2 of the specification [SCA-C]. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10024 |
Source |
[C100022] |
Target |
Type mapping |
Prerequisites |
|
Predicate |
A parameter, return or struct member of type _Bool is mapped to xsd:boolean. |
Prescription Level |
Permitted |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10025 |
Source |
[C100016] |
Target |
Type mapping |
Prerequisites |
A function has a return type that is a pointer to a struct or a parameter with a type defined by a struct. |
Predicate |
The generated message part or wrapper child has a complex type as defined by section 10.3.2 of the specification. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10027 |
Source |
[C100016] |
Target |
Type mapping |
Prerequisites |
A message part or wrapper child has a complex type. |
Predicate |
The generated function parameter has a type defined by a struct or type DataObject or The generated function return type is pointer to a struct or DataObject |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
CPP-TA-10029 |
|
Source |
[CPP100023] |
|
Target |
portType mapping |
|
Prerequisites |
|
|
Predicate |
A WSDL portType is mapped to a remotable SCA interface |
|
Prescription Level |
Mandatory |
|
Tags |
“WSDL mapping” |
Assertion ID |
CPP-TA-10030 |
|
Source |
[CPP100024] |
|
Target |
C interface mapping |
|
Prerequisites |
A C header file is not annotated with @WebService. |
|
Predicate |
The header file is mapped to WSDL as if it had a @WebService annotation with no parameters. |
|
Prescription Level |
Mandatory |
|
Tags |
“WSDL mapping” |
The test assertions in this section apply to the optional program-based component implementation support. These assertions are only applicable if an implementation supports program-based component implementations.
Assertion ID |
C-TA-10003 |
Source |
[C100005] |
Target |
Operation mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:struct/>. |
Predicate |
The name of the generated request message format struct is the name of the <operation/> element with the first character converted to lower case and the name of the generated response message format struct is the generated request message struct concatenated with the “Response”. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10005 |
Source |
[C100003] |
Target |
Message mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:parameter/> element for one of it’s message parts. |
Predicate |
The name of the generated message format struct member is the name of the message part with the first character converted to lower case. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10007 |
Source |
[C100004] |
Target |
Message mapping |
Prerequisites |
A <operation/> element does not contain an <sca-c:parameter/> element for one of it’s wrapper childern. |
Predicate |
The name of the generated message format struct member is the name of the wrapper child with the first character converted to lower case. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10009 |
Source |
[C100020] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> is mapped to C structs |
Predicate |
Each part or wrapper child of the input <message/> for the <operation/> is mapped, by-value, to a member of the request message struct. Each part or wrapper child of the output <message/> for the <operation/> is mapped, by-value, to a member of the response message struct. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10014 |
Source |
[C100010] |
Target |
Operation mapping |
Prerequisites |
A struct declaration does not have a @WebOperation annotation and does not end in “Response” or “Fault”. |
Predicate |
An <operation/> is generated with the name of the struct without any namespace or portType prefix. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10019 |
Source |
[C100013] |
Target |
Operation mapping |
Prerequisites |
Structs are used to define operation messages |
Predicate |
The generated WSDL has document-literal style and encoding. |
Prescription Level |
Preferred |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10020 |
Source |
[C100014] |
Target |
Operation mapping |
Prerequisites |
A struct declaration does not have a @WebParam annotation for one of its members |
Predicate |
The name of the generated message part or wrapper child is name of the struct member. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10021 |
Source |
[C100015] |
Target |
Operation mapping |
Prerequisites |
The request message format struct and response message format struct for an operation have a member with the same name. |
Predicate |
The type of the member of each struct is the same. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10026 |
Source |
[C100016] |
Target |
Type mapping |
Prerequisites |
A message format struct has a member with a type defined by a struct. |
Predicate |
The generated message part or wrapper child has a complex type as defined by section 10.3.2 of the specification. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-10028 |
Source |
[C100016] |
Target |
Type mapping |
Prerequisites |
A message part or wrapper child has a complex type. |
Predicate |
The generated message format struct member has a type defined by a struct or type DataObject. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-11001 |
Source |
[C110001] |
Target |
Composite file that violates the sca-interface-c.xsd schema and / or the sca-implementation-c.xsd schema. |
Prerequisites |
|
Predicate |
SCA runtime rejects the composite file and raises an error |
Prescription Level |
Mandatory |
Tags |
“composite” “schema” |
Assertion ID |
C-TA-11002 |
Source |
[C110002] |
Target |
ComponentType file that violates the sca-interface-c.xsd schema. |
Prerequisites |
|
Predicate |
SCA runtime rejects the componentType file and raises an error |
Prescription Level |
Mandatory |
Tags |
“componentType” “schema” |
Assertion ID |
C-TA-11004 |
Source |
[C110003] |
Target |
Contribution file that violates the sca-contribution-c.xsd schema. |
Prerequisites |
|
Predicate |
SCA runtime rejects the contribution file and raises an error |
Prescription Level |
Mandatory |
Tags |
“contribution” “schema” |
Assertion ID |
C-TA-11005 |
Source |
[C110004] |
Target |
WSDL file that violates the sca-wsdlext-c.xsd schema. |
Prerequisites |
|
Predicate |
SCA runtime rejects the WSDL file and raises an error |
Prescription Level |
Mandatory |
Tags |
“WSDL” “schema” |
The test assertions in this section apply to the optional C SCA annotation support. These assertions are only applicable if an implementation supports these annotations.
Assertion ID |
C-TA-A001 |
Source |
[CA0001] |
Target |
SCA annotations |
Prerequisites |
A source file containing SCA annotations is processed. |
Predicate |
SCDL file(s) containing elements, attributes and values corresponding to the annotations are generated. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” |
Assertion ID |
C-TA-A002 |
Source |
[CA0001] |
Target |
SCA annotations |
Prerequisites |
A header file containing SCA annotations is referenced by an <interface.c> |
Predicate |
The SCA annotations are ignored during component execution. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” |
Assertion ID |
C-TA-A003 |
Source |
[CA0002] |
Target |
SCA annotations |
Prerequisites |
A source file containing SCA annotations with sequential comments containing annotations related to the same program element is processed. |
Predicate |
The annotations are processed as if they were in one comment block. |
Prescription Level |
Preferred |
Tags |
“SCA annotations” |
Assertion ID |
C-TA-A004 |
Source |
[CA0003] |
Target |
@WebService annotation |
Prerequisites |
A file containing a @WebService annotation, but not a corresponding @Remotable annotation. |
Predicate |
The generated SCDL is the same as if the file contained a @Remotable and an @Interface annotation with a name value equal to the name value of the @WebService annotation. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” “WSDL annotations” |
Assertion ID |
C-TA-A005 |
Source |
[CA0004] |
Target |
@WebFunction annotation |
Prerequisites |
A function declaration with a @WebFunction annotation but not a corresponding @Function annotation. |
Predicate |
The generated SCDL is the same as if the function was annotated with a @Function annotation with a name value equal to the operationName value of the @WebFunction annotation and an exclude value equal to the exclude value of the @WebFunction annotation. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” “WSDL annotations” |
Assertion ID |
C-TA-A007 |
Source |
[CA0006] |
Target |
SCA annotations |
Prerequisites |
A source file containing SCA annotations in comments starting // is processed. |
Predicate |
The generated SCDL is the same as if the file only contained annotations is comments of the form /* … */. |
Prescription Level |
Optional |
Tags |
“SCA annotations” “WSDL annotations” |
Assertion ID |
C-TA-A008 |
Source |
[CA0007] |
Target |
@Property annotation |
Prerequisites |
A componentType has multiple @Property annotations. |
Predicate |
All variables with @Property annotations and the same name have the same type. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” “WSDL annotations” |
The test assertions in this section apply to the optional program-based component implementation support. These assertions are only applicable if an implementation supports C SCA annotations and program-based component implementations.
Assertion ID |
C-TA-A006 |
Source |
[CA0005] |
Target |
@WebOperation annotation |
Prerequisites |
A struct declaration with a @WebOperation annotation but not a corresponding @Operation annotation. |
Predicate |
The generated SCDL is the same as if the struct was annotated with an @Operation annotation with a name value equal to the operationName value of the @WebOperation annotation, a response value equal to the response value of the @WebOperation annotation and an exclude value equal to the exclude value of the @WebOperation annotation. |
Prescription Level |
Mandatory |
Tags |
“SCA annotations” “WSDL annotations” |
The test assertions in this section apply to the optional C WSDL annotation support. These assertions are only applicable if an implementation supports these annotations.
Assertion ID |
C-TA-C001 |
Source |
[CC0001] |
Target |
@Interface annotation |
Prerequisites |
A file is annotated with @Remotable, but not @WebService. |
Predicate |
The generated WSDL is the same as if the file was annotated with @WebService and with a name value equal to the name value of the @Interface annotation, if specified, and no other parameters. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” “SCA annotations” |
Assertion ID |
C-TA-C002 |
Source |
[CC0002] |
Target |
@Function annotation |
Prerequisites |
A function is annotated with @Function, but not @WebFunction. |
Predicate |
The generated WSDL is the same as if the function was annotated with @WebFunction with a operationName value equal to the name value of the @Function annotation, an exclude value equal to the exclude value of the @Function annotation and no other parameters. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” “SCA annotations” |
Assertion ID |
C-TA-C004 |
Source |
[CC0004] |
Target |
@WebThrows |
Prerequisites |
A struct is listed named in a @WebThrows annotation. |
Predicate |
The struct is annotated with a @WebFault annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-C005 |
Source |
[CC0005] |
Target |
WSDL annotations |
Prerequisites |
A source file containing WSDL annotations, explicit or implied by corresponding SCA annotations, is processed. |
Predicate |
A valid WSDL 1.1 file containing elements, attributes and values corresponding to the annotations is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-C006 |
Source |
[CC0006] |
Target |
@WebParam |
Prerequisites |
A function is annotated with @WebParam which has a type value and the type of the parameter is not a struct or is struct tm. |
Predicate |
The type value of the @WebParam annotation is a valid simple type from the namespace: http://www.w3.org/2001/XMLSchema. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-C007 |
Source |
[CC0007] |
Target |
@WebResult |
Prerequisites |
A function is annotated with @WebResult which has a type value. |
Predicate |
The type value of the @WebResult annotation is a valid simple type from the namespace: http://www.w3.org/2001/XMLSchema. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-C009 |
Source |
[CC0009] |
Target |
@WebParam |
Prerequisites |
A function is annotated with @WebParam. |
Predicate |
The paramName value of the @WebParam annotation matches the name of a parameter of the function. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-C010 |
Source |
[CC0006] |
Target |
@WebParam |
Prerequisites |
A function is annotated with @WebParam which has a type value and the type of the parameter is struct other than struct tm. |
Predicate |
The type value of the @WebParam annotation is a QName of a complex type following the default C to WSDL mapping rules. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
The test assertions in this section apply to the optional program-based component implementation support. These assertions are only applicable if an implementation supports C WSDL annotations and program-based component implementations.
Assertion ID |
C-TA-C003 |
Source |
[CC0003] |
Target |
@Operation annotation |
Prerequisites |
A struct is annotated with @Operation, but not @WebOperation. |
Predicate |
The generated WSDL is the same as if the struct was annotated with @WebOperation with a operationName value equal to the name value of the @Operation annotation, a response value equal to the response value of the @Operation annotation, an exclude value equal to the exclude value of the @Function annotation and no other parameters. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” “SCA annotations” |
The test assertions in this section apply to the optional C WSDL extensions support. These assertions are only applicable if an implementation supports these extensions.
Assertion ID |
C-TA-D001 |
Source |
[CD0001] |
Target |
WSDL extensions |
Prerequisites |
A file containing valid WSDL 1.1 content and C mapping extensions is processed. |
Predicate |
A C header file containing declarations corresponding to WSDL content as modified by the C mapping extensions is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D002 |
Source |
[CD0002] |
Target |
<sca-c:parameter/> |
Prerequisites |
A WSDL operation element contains a <sca-c:parameter/> element with the @type attribute specified. |
Predicate |
The value of @type attribute is a valid C type as described in the specification [SCA-C]. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D003 |
Source |
[CD0003] |
Target |
<sca-c:binding/> |
Prerequisites |
A WSDL element contains a <sca-c:binding/> element. |
Predicate |
The <sca-c:binding/> contains no more than one <sca-c:prefix/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D004 |
Source |
[CD0004] |
Target |
<sca-c:binding/> |
Prerequisites |
A WSDL element contains a <sca-c:binding/> element. |
Predicate |
The <sca-c:binding/> contains no more than one < sca-c:enableWrapperStyle/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D005 |
Source |
[CD0005] |
Target |
<sca-c:binding/> |
Prerequisites |
A WSDL element contains a <sca-c:binding/> element. |
Predicate |
The < sca-c:binding/> contains no more than one < sca-c:function/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D006 |
Source |
[CD0006] |
Target |
<sca-c:binding/> |
Prerequisites |
A WSDL element contains a <sca-c:binding/> element. |
Predicate |
The < sca-c:binding/> contains no more than one < sca-c:struct/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D007 |
Source |
[CD0007] |
Target |
WSDL extensions |
Prerequisites |
A file containing a valid WSDL 1.1 content and JAX-WS mapping extensions is processed. |
Predicate |
A C header file containing declarations corresponding to WSDL content as modified by the JAX-WS mapping extensions is generated. |
Prescription Level |
Permitted |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-D008 |
Source |
[CD0007] |
Target |
WSDL extensions |
Prerequisites |
A WSDL element contains a JAX-WS WSDL extension and the corresponding C WSDL extension as identified in section D.7 of the specification [SCA-C]. |
Predicate |
Only the C WSDL extension affects the generated C file. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-F001 |
Source |
[CF0001] |
Target |
WSDL mapping |
Prerequisites |
A file containing valid WSDL 1.1 content is processed. |
Predicate |
A C header file containing declarations corresponding to the WSDL content is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F002 |
Source |
[CF0002] |
Target |
Annotation generation |
Prerequisites |
A WSDL file is processed. |
Predicate |
A C header file containing annotated declarations corresponding to the WSDL content is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F003 |
Source |
[CF0002] |
Target |
Annotation generation |
Prerequisites |
A WSDL file containing C mapping extensions is processed. |
Predicate |
A C header file containing annotated declarations corresponding to the WSDL content as modified by the C mapping extensions is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” “WSDL annotations” |
Assertion ID |
C-TA-F004 |
Source |
[CF0003] |
Target |
WSDL import mapping |
Prerequisites |
A WSDL file containing WSDL and XSD import directives is processed. |
Predicate |
A C header file containing declarations corresponding to the imported elements content is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F005 |
Source |
[CF0005] |
Target |
portType mapping |
Prerequisites |
|
Predicate |
The generated file containing the declarations corresponding to child elements of the <portType/> element has a @WebService annotation with a portName element value equal to the name of the <port/> element of the WSDL definition. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F006 |
Source |
[CF0006] |
Target |
Operation mapping |
Prerequisites |
A WSDL <operation/> element contains a <sca-c:function/> element specifying a non-default name or the <soapAction/> element of the corresponding binding operation is not an empty string. |
Predicate |
The generated function corresponding to the <operation/> element has a @WebFunction annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F007 |
Source |
[CF0007] |
Target |
Operation mapping |
Prerequisites |
A WSDL <operation/> element uses a request-response or one-way transmission primitive. |
Predicate |
A function is generated for the <operation/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F008 |
Source |
[CF0008] |
Target |
Operation mapping |
Prerequisites |
A WSDL <operation/> element uses a one-way transmission primitive. |
Predicate |
The generated function corresponding to the <operation/> element has a @Oneway annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F009 |
Source |
[CF0009] |
Target |
portType mapping |
Prerequisites |
A WSDL <portType/> element is bound to a SOAP binding that does not have style=“Document”, use=“literal” and wrapped parameters. |
Predicate |
The generated file corresponding to a <portType/> element has a @SOAPBinding annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F010 |
Source |
[CF0010] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> element uses a <message/> element which has content that causes non-default mapping of a part or wrapper child’s name, mode, type, namespace or inclusion in a header. |
Predicate |
The generated function corresponding to the <operation/> element has a @WebParam annotation for the parameter. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F011 |
Source |
[CF0011] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> element uses a <message/> element which has content that causes non-default mapping of the, type, namespace or inclusion in a header of the part or wrapper child that maps to a member function’s return type. |
Predicate |
The generated function corresponding to the <operation/> element has a @WebResult annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F012 |
Source |
[CF0012] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> element does not qualify for wrapper-style. |
Predicate |
The generated function parameters are mapped following from the <part/> elements of the <message/> elements referenced by the <operation/> element. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F013 |
Source |
[CF0013] |
Target |
Operation mapping |
Prerequisites |
A WSDL <operation/> element contains a <sca-c:enableWrapperStyle/> element. |
Predicate |
The generated function parameters are mapped from wrapper children if the value of the <sca-c:enableWrapperStyle> is true and from <part/> elements otherwise. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL extensions” |
Assertion ID |
C-TA-F014 |
Source |
[CF0014] |
Target |
Message mapping |
Prerequisites |
A WSDL <operation/> element has more than one wrapper child or <part/> element of <message/> elements referred to by the <operation/> element that do not map to the return type of the generated member function. |
Predicate |
Each wrapper child or <part/> element maps to a unique generated function parameter. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F015 |
Source |
[CF0015] |
Target |
Fault message mapping |
Prerequisites |
A WDSL <operation/> element contains a <fault/> element. |
Predicate |
The generated struct corresponding to the <message/> element referred to by the <fault/> element has a @WebFault annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F016 |
Source |
[CF0016] |
Target |
Fault message mapping |
Prerequisites |
More that one <operation/> element has <fault/> elements referring to a <message/> element |
Predicate |
Only one exception message struct is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F018 |
Source |
[CF0018] |
Target |
Binding mapping |
Prerequisites |
A file containing a <soap:binding> is processed. |
Predicate |
The generated C header file contains declarations and annotations corresponding to the <soap:binding/> element content. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F019 |
Source |
[CF0019] |
Target |
Binding mapping |
Prerequisites |
A WSDL <message/> element contains <part/> elements that are not bound. |
Predicate |
The SCA Web Service binding ignores unbound in and in/out parameters and presents unbound out parameters as empty. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F020 |
Source |
[CF0020] |
Target |
Binding mapping |
Prerequisites |
A <operation/> element of a <soap:binding/> element contains more that one <soap:header/> element. |
Predicate |
Each SOAP header has a unique qualified name. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F021 |
Source |
[CF0021] |
Target |
Binding mapping |
Prerequisites |
A request message contains more that one <soap:header/> element. |
Predicate |
Each SOAP header mapped to a function parameter has a unique qualified name. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F022 |
Source |
[CF0022] |
Target |
WSDL mapping |
Prerequisites |
A C file containing a remotable SCA interface description is processed. |
Predicate |
A WSDL 1.1 file containing definitions corresponding to the C declarations is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F023 |
Source |
[CF0023] |
Target |
WSDL mapping |
Prerequisites |
A C header file does not contain any WSDL mapping annotations |
Predicate |
All C identifiers are mapped to XML names as per the SOAP 1.2 algorithm. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F024 |
Source |
[CF0024] |
Target |
WSDL Mapping |
Prerequisites |
|
Predicate |
Any WSDL or XSD imports comply with the WS-I Basic Profile 1.0 restrictions. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F025 |
Source |
[CF0025] |
Target |
Function mapping |
Prerequisites |
A function does not have a @OneWay annotation. |
Predicate |
The generated <operation/> element uses a request-response transmission primitive. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F026 |
Source |
[CF0026] |
Target |
Function mapping |
Prerequisites |
A function has a @OneWay annotation and either has out or in/out parameters or has a return type that is not void. |
Predicate |
No <operation/> element is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “WSDL annotations” |
Assertion ID |
C-TA-F027 |
Source |
[CF0027] |
Target |
Parameter mapping |
Prerequisites |
A function has a parameter that has a @WebParam annotation with a header value of true. |
Predicate |
The parameter appears in a <soap:header/> element of the operation’s input or output message. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F028 |
Source |
[CF0027] |
Target |
Function mapping |
Prerequisites |
A function has a @WebResult annotation with a header value of true. |
Predicate |
The return value appears in a <soap:header/> element of the operation’s output message. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F029 |
Source |
[CF0029] |
Target |
Binding selection |
Prerequisites |
|
Predicate |
A <binding/> element is generated that reflect any policy intents applied to a interface definition. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F030 |
Source |
[CF0030] |
Target |
Binding selection |
Prerequisites |
A C interface definition has no attached policy intents that affect the binding selection. |
Predicate |
A SOAP HTTP <binding/> element is generated. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F031 |
Source |
[CF0031] |
Target |
Binding selection |
Prerequisites |
A SOAP HTTP <binding/> element is generated |
Predicate |
The <binding/> element contains a @style attribute |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” “SOAP binding” |
Assertion ID |
C-TA-F032 |
Source |
[CF0032] |
Target |
Port mapping |
Prerequisites |
A header file does not have a @WebService annotation with a portName value. |
Predicate |
The name of the generated <port/> element is the name value of the @WebService annotation, if present, with “Port” appended , otherwise it is the name of the file with “Port” appended. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F033 |
Source |
[CF0032] |
Target |
Port mapping |
Prerequisites |
A header file has a @WebService annotation with a portName value. |
Predicate |
The name of the generated <port/> element is the portName value of the @WebService annotation. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
Assertion ID |
C-TA-F034 |
Source |
[CF0033] |
Target |
Port mapping |
Prerequisites |
A C interface definition has no attached policy intents that affect the binding selection. |
Predicate |
The <port/> element refers to a <binding/> element that is consistent with the policy intents. |
Prescription Level |
Mandatory |
Tags |
“WSDL mapping” |
There are no normative statements relating to the Test Assertions.
Normative statement |
Test Assertion |
C20001 |
C-TA-2001 |
C20004 |
C-TA-2003 |
C20006 |
C-TA-2007 C-TA-2009 |
C20007 |
C-TA-2008 C-TA-2010 |
C20009 |
C-TA-2011 |
C20010 |
C-TA-2012 |
C20013 |
C-TA-2017 |
C20015 |
C-TA-2006 |
C20016 |
C-TA-2018 |
C20017 |
C-TA-2019 |
Normative statement |
Test Assertion |
C30001 |
C-TA-3001 C-TA-3002 |
Normative statement |
Test Assertion |
C40001 |
C-TA-4001 |
Normative statement |
Test Assertion |
C50001 |
Not Testable |
Normative statement |
Test Assertion |
C60002 |
C-TA-6002 |
C60003 |
C-TA-6003 |
Normative statement |
Test Assertion |
C70001 |
C-TA-7001 |
C70002 |
C-TA-7002 |
Normative statement |
Test Assertion |
C80001 |
C-TA-8001 |
C80002 |
C-TA-8002 |
C80003 |
C-TA-8003 |
Normative statement |
Test Assertion |
C100001 |
C-TA-10001 |
C100002 |
C-TA-10002 |
C100003 |
C-TA-10004 C-TA-10005 |
C100004 |
C-TA-10006 C-TA-10007 |
C100005 |
C-TA-10003 |
C100006 |
C-TA-10010 |
C100007 |
C-TA-10011 |
C100008 |
C-TA-10012 |
C100009 |
C-TA-10013 |
C100010 |
C-TA-10014 |
C100011 |
C-TA-10015 C-TA-10016 |
C100012 |
C-TA-10017 |
C100013 |
C-TA-10019 |
C100014 |
C-TA-10020 |
C100015 |
C-TA-10021 |
C100016 |
C-TA-10025 C-TA-10026 C-TA-10027 C-TA-10028 |
C100017 |
C-TA-10018 |
C100019 |
C-TA-10008 |
C100020 |
C-TA-10009 |
C100021 |
C-TA-10022 C-TA-10023 |
C100022 |
C-TA-10024 |
C100023 |
C-TA-10029 |
C100024 |
C-TA-10030 |
Normative statement |
Test Assertion |
C110001 |
C-TA-11001 |
C110002 |
C-TA-11002 |
C110003 |
C-TA-11004 |
C110004 |
C-TA-11005 |
Normative statement |
Test Assertion |
CA0001 |
C-TA-A001 C-TA-A002 |
CA0002 |
C-TA-A003 |
CA0003 |
C-TA-A004 |
CA0004 |
C-TA-A005 |
CA0005 |
C-TA-A006 |
CA0006 |
C-TA-A007 |
CA0007 |
C-TA-A008 |
Normative statement |
Test Assertion |
CC0001 |
C-TA-C001 |
CC0002 |
C-TA-C002 |
CC0003 |
C-TA-C003 |
CC0004 |
C-TA-C004 |
CC0005 |
C-TA-C005 |
CC0006 |
C-TA-C006 C-TA-C010 |
CC0007 |
C-TA-C007 |
CC0009 |
C-TA-C009 |
Normative statement |
Test Assertion |
CD0001 |
C-TA-D001 |
CD0002 |
C-TA-D002 |
CD0003 |
C-TA-D003 |
CD0004 |
C-TA-D004 |
CD0005 |
C-TA-D005 |
CD0006 |
C-TA-D006 |
CD0007 |
C-TA-D007 C-TA-D008 |
Normative statement |
Test Assertion |
CF0001 |
C-TA-F001 |
CF0002 |
C-TA-F002 C-TA-F003 |
CF0003 |
C-TA-F004 |
CF0004 |
Not Testable |
CF0005 |
C-TA-F005 |
CF0006 |
C-TA-F006 |
CF0007 |
C-TA-F007 |
CF0008 |
C-TA-F008 |
CF0009 |
C-TA-F009 |
CF0010 |
C-TA-F010 |
CF0011 |
C-TA-F011 |
CF0012 |
C-TA-F012 |
CF0013 |
C-TA-F013 |
CF0014 |
C-TA-F014 |
CF0015 |
C-TA-F015 |
CF0016 |
C-TA-F016 |
CF0018 |
C-TA-F018 |
CF0019 |
C-TA-F019 |
CF0020 |
C-TA-F020 |
CF0021 |
C-TA-F021 |
CF0022 |
C-TA-F022 |
CF0023 |
C-TA-F023 |
CF0024 |
C-TA-F024 |
CF0025 |
C-TA-F025 |
CF0026 |
C-TA-F026 |
CF0027 |
C-TA-F027 C-TA-F028 |
CF0029 |
C-TA-F029 |
CF0030 |
C-TA-F030 |
CF0031 |
C-TA-F031 |
CF0032 |
C-TA-F032 C-TA-F033 |
CF0033 |
C-TA-F034 |
The following individuals have participated in the creation of this specification and are gratefully acknowledged:
Participants:
Participant Name |
Affiliation |
Bryan Aupperle |
IBM |
Andrew Borley |
IBM |
Jean-Sebastien Delfino |
IBM |
Mike Edwards |
IBM |
David Haney |
Individual |
Mark Little |
Red Hat |
Jeff Mischkinsky |
Oracle Corporation |
Peter Robbins |
IBM |