SOAP over Java Message Service 1.0 - Test Assertions

The following table contains a summary of the test assertions found in the SOAP-JMS Binding specification, along with the list of testcases which test each assertion.

Test Assertion ID Description Testcases
Conformance-1000 A conforming implementation MUST work with Java Message Service (JMS) 1.1 [Java Message Service].
Conformance-1001 A conforming implementation MUST implement all the requirements of SOAP-JMS Binding specification (soap-binding).
Conformance-1002 Conforming implementations MUST implement all the requirements of [URI Scheme for JMS].
Conformance-1003 Support for WSDL 1.1 is optional and as such an implementation MAY implement it. However, a conforming implementation of this feature MUST implement all the requirements of SOAP-JMS Binding specification (wsdl-11-detail).
Conformance-1004 Support for WSDL 2.0 is optional and as such an implementation MAY implement it. However, a conforming implementation of this feature MUST implement all the requirements of SOAP-JMS Binding specification (wsdl-20-detail).
Protocol-2001 Properties can be obtained from a number of sources. If a given property is specified in more than one of these, the following list specifies the precedence: the first MUST be used in preference to the second. test0009 test0010
Protocol-2002 If a given property is specified more than once in the JMS URI the last instance of the property MUST be used. test0002 test0004 test0011
Protocol-2003 MUST be specified in the JMS URI, as the jms-variant portion of the syntax. test0001 test0003
Protocol-2004 MUST be specified in JMS URI, as the jms-dest portion of the syntax. test0001 test0002 test0003 test0004
Protocol-2005 if specified MUST appear in the JMS message in the header named JMSDeliveryMode. If the value of this property is "PERSISTENT" then the JMSDeliveryMode integer value MUST be set to DeliveryMode.PERSISTENT. If the value of this property is "NON_PERSISTENT" then the JMSDeliveryMode integer value MUST be set to DeliveryMode.NON_PERSISTENT. test0005 test0006 test0007 test0008 test0009 test0010 test0011 test0012
Protocol-2006 if specified, this MUST be used to generate the value of the JMS header JMSExpiration. test0005 test0006 test0007 test0008 test0009 test0010 test0011 test0012
Protocol-2007 if specified MUST appear in the JMS message in the header named JMSPriority. test0005 test0006 test0007 test0008 test0009 test0010 test0011 test0012
Protocol-2008 if specified, this MUST be used to derive the value to be used in the JMS header JMSReplyTo. test0005 test0006 test0007 test0008 test0009 test0010 test0011 test0012
Protocol-2009 if specified MUST appear in the JMS message in the JMS property named SOAPJMS_targetService. test0001 test0002 test0003 test0004
Protocol-2010 fixed value "1.0" in the implementation, MUST appear in a JMS property named SOAPJMS_bindingVersion. test0001 test0002 test0003 test0004 test1001 test1101
Protocol-2011 A fault MUST be generated with subcode unrecognizedBindingVersion if the value of the soapjms:bindingVersion property does not match the fixed value. test1001 test1101
Protocol-2012 If the charset parameter is specified, it is checked to ensure that it matches the encoding value from the supplied XML. A fault MUST be generated with subcode contentTypeMismatch if the encoding values do not match. test1003 test1103
Protocol-2014 If no charset parameter is supplied the charset MUST be inferred using the rules defined in appendix F, Autodetection of Character Encodings , [XML 1.0].
Protocol-2015 The contentType parameter MUST reflect the value specified in the Content-type part header for the first part (the SOAP body, so text/xml or application/xop+xml).
Protocol-2016 The contentType value MUST appear in the JMS message in the JMS property named SOAPJMS_contentType. A fault MUST be generated with subcode missingContentType if the SOAPJMS_contentType property is missing. test0001 test0002 test0003 test0004 test1006 test1106
Protocol-2018 If specified MUST appear in the JMS message in the JMS property named SOAPJMS_soapAction. test0001 test0002 test0003 test0004
Protocol-2019 If using SOAP 1.2, and the contentType property has an action parameter, that parameter value is compared with the SOAPJMS_soapAction value. A fault MUST be generated with fault subcode mismatchedSoapAction if the SOAP 1.2 action does not match the SOAPJMS_soapAction value.
Protocol-2021 Specifies the JMS URI of the service. The client MUST create this property which is derived from the supplied URI. The client MUST remove the targetService query parameter if specified; SHOULD remove JMS Message Header properties; and MAY remove other query parameters (for example client security related properties). test0001 test0002 test0003 test0004 test1008 test1108
Protocol-2022 Appears in the JMS message in the JMS property named SOAPJMS_requestURI. A fault MUST be generated with fault subcode missingRequestURI if the SOAPJMS_requestURI property is missing from the message. test0001 test0002 test0003 test0004 test1007 test1107
Protocol-2024 Binding of Properties to URI
Protocol-2025 A fault MUST be generated with subcode malformedRequestURI when the URI violates the expected syntax. test1004 test1104
Protocol-2026 A fault MUST be generated with subcode targetServiceNotAllowedInRequestURI when targetService parameter is included in the requestURI). test1008 test1108
Protocol-2027 The contents of the JMS Message body MUST be the SOAP payload as a JMS BytesMessage or TextMessage. test0001 test0002 test0003 test0004 test1002 test1102
Protocol-2028 A fault MUST be generated with subcode unsupportedJMSMessageFormat when the arriving message format is not BytesMessage or TextMessage. test1002 test1102
Protocol-2029 Note also that if the payload is formatted as a MIME multipart message, then the first byte or character encountered in the JMS Message body MUST be the start of the MIME boundary for the start of the first part — what MIME Part One [IETF RFC 2045] section 2.5 calls a "Body Part". test0001 test0002 test0003 test0004
Protocol-2030 If the message is formatted as "text/xml" or "application/soap+xml", then the first byte or character of the JMS Message body MUST be the start of a conforming XML document. test0001 test0002 test0003 test0004
Protocol-2031 An instance of a binding to JMS conforming to this binding specification MUST support the following message exchange patterns: test0001 test0002 test0003 test0004 test0007 test0008 test0009 test1001 test1101 test1002 test1102 test1003 test1103
Protocol-2032 In the case of SOAP 1.2 a conforming SOAP-JMS Binding instance MUST support the following message exchange patterns: test0007
Protocol-2033 In the case of SOAP 1.1 there is no formal specification of Message Exchange Patterns. A conforming SOAP-JMS Binding instance MUST support both the generic "request/response" and "one-way" patterns and in the case of SOAP 1.1 are specified in this document. test0001 test0002 test0003 test0004
Protocol-2034 The message MUST be created as a JMS BytesMessage or TextMessage as defined in SOAP-JMS Binding specification (binding-message-body). test0001 test0002 test0003 test0004
Protocol-2036 The Response Message MUST be created using the same type as the corresponding Request Message, i.e. as a JMS BytesMessage or TextMessage. test0002 test0004
Protocol-2037 The message MUST be sent to the JMS Destination in the JMSReplyTo header of the Request Message. test0002 test0004
Protocol-2038 The value of the JMSCorrelationID header field MUST be set to the same as the value of the JMSMessageID of the request message. test0002 test0004
Protocol-2040 The message MUST be created as a JMS BytesMessage or TextMessage as defined in SOAP-JMS Binding specification (binding-message-body). test0002 test0004
Protocol-2050 The JMSReplyTo header MUST be assigned a value. test0002 test0004
Protocol-2051 The JMSReplyTo header MUST NOT be assigned a value. test0001 test0003
Protocol-2060 The jms-variant: jndi MUST be supported. test0001 test0002 test0003 test0004 test0005 test0009 test0010 test0011 test0012
Protocol-2070 if specified and if relevant, this MUST be used to derive the value to be used in the JMS header JMSReplyTo.
Protocol-2071 A fault MUST be generated with subcode unsupportedLookupVariant if the JMS URI specifies a lookupVariant that is not supported by the implementation. test1009 test1109
WSDLUsage-3001 Various JMS properties described in the SOAP/JMS binding specification may be set in three places in the WSDL — the binding, the service, and the port. Values specified at the service will propagate to all ports/endpoints. Values specified at the binding will propagate to all ports/endpoints using that binding.
WSDLUsage-3002 If a property is specified at multiple levels, the most specific setting MUST take precedence (port first, then service, then binding).
WSDLUsage-3003 Properties expressed in the URI [IETF RFC 3987] MUST override any values set in the markup as described above.
WSDLUsage-3004 SOAP/JMS properties which are declarable in WSDL 1.1 and WSDL 2.0 documents

Generated from soapjms.xml using assertions.xsl.

SOAP over Java Message Service 1.0 Test Suite

Phil Adams, Editor
Roland Merrick, Chair