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 JMS. untestable by test cases.
Conformance-1001 A conforming implementation MUST implement all the requirements of SOAP-JMS Binding specification (soap-binding). untestable by test cases.
Conformance-1002 Conforming implementations MUST implement all the requirements of the JMS URI. untestable by test cases.
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). untestable by test cases.
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 test0017
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 test0102 test0004 test0011
Protocol-2003 MUST be specified in the JMS URI, as the jms-variant portion of the syntax. test0001 test0101 test0003 test0018 test0019 test0020
Protocol-2004 MUST be specified in JMS URI, as the jms-dest portion of the syntax. test0001 test0002 test0101 test0102 test0003 test0004 test0018 test0019 test0020
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 test0013 test0014 test0015 test0016 test0017
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 test0013 test0014 test0015 test0016 test0017
Protocol-2007 if specified, MUST appear in the JMS message in the header named JMSPriority. test0005 test0006 test0007 test0008 test0009 test0010 test0011 test0012 test0013 test0014 test0015 test0016 test0017
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 test0013 test0014 test0015 test0016 test0017
Protocol-2009 if specified MUST appear in the JMS message in the JMS property named SOAPJMS_targetService. Use fault subcode missingTargetService if specified and SOAPJMS_targetService does not appear. test0001 test0002 test0101 test0102 test0003 test0004 test0016 test0017 test0018 test0019
Protocol-2010 fixed value "1.0" in the implementation, MUST appear in a JMS property named SOAPJMS_bindingVersion. test0001 test0002 test0101 test0102 test0003 test0004 test0018 test0019 test0020 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-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 test0101 test0102 test0003 test0004 test0018 test0019 test0020 test1006 test1106
Protocol-2018 If specified MUST appear in the JMS message in the JMS property named SOAPJMS_soapAction. Fault subcode missingSoapAction MAY be used if SOAPJMS_soapAction does not appear. test0001 test0002 test0101 test0102 test0003 test0004 test0018 test0019 test0020
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. test1005 test1105
Protocol-2020 When this property is true, the sending software MUST set a boolean JMS Message property named SOAPJMS_isFault with a value of true, as in: Message.setBooleanProperty("SOAPJMS_isFault", true). test1001 test1101 test1002 test1102 test1003 test1103 test1004 test1104 test1005 test1105 test1006 test1106 test1007 test1107 test1008 test1108
Protocol-2021 The client MUST create the requestURI by taking the supplied URI, leaving the destinationName as-is, and removing the targetService and replyToName query parameters if they are specified. The client SHOULD also remove deliveryMode, jndiConnectionFactoryName, jndiInitialContextFactory, jndiURL, jndiContextParameter, timeToLive, and priority properties. The client MAY remove other query parameters not explicitly mentioned above (for example client security related properties). test0001 test0002 test0101 test0102 test0003 test0004 test0018 test0019 test0020 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 test0101 test0102 test0003 test0004 test0018 test0019 test0020 test1007 test1107
Protocol-2025 A fault MUST be generated with subcode malformedRequestURI when the SOAPJMS_requestURI violates the expected syntax. test1004 test1104
Protocol-2026 A fault MUST be generated with subcode targetServiceNotAllowedInRequestURI when targetService parameter is included in the SOAPJMS_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 test0101 test0102 test0003 test0004 test0018 test0019 test0020 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 Specifically, 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 test0101 test0102 test0003 test0004 test0018 test0019 test0020
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 test0101 test0102 test0003 test0004 test0018 test0019 test0020
Protocol-2032 In the case of SOAP 1.2 a conforming SOAP-JMS Binding instance MUST support the following message exchange patterns: test0101 test0102 test0003 test0007 test0008 test0016 test0017 test0019 test1101 test1102 test1103
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 as specified in this document. test0001 test0002 test0004 test0009 test0018 test0020 test1001 test1002 test1003
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 test0102 test0004 test0020
Protocol-2037 The message MUST be sent to the JMS Destination in the JMSReplyTo header of the Request Message. test0002 test0102 test0004 test0020
Protocol-2038 If the JMSCorrelationID is set in the request message, then the JMSCorrelationID header field in the response message MUST be set to the same value as the JMSCorrelationID header field in the request message. If the JMSCorrelationID header field is not set in the request message, then the JMSCorrelationID header field in the response message MUST be set to the value of the JMSMessageID header in the request message. test0002 test0102 test0004 test0020
Protocol-2039 If the content encoding is specified, it is checked to ensure that it matches the content encoding values supported. A fault MUST be generated with subcode contentEncodingNotSupported if the encoding values do not match. untestable by test cases.
Protocol-2050 The JMSReplyTo header MUST be assigned a value. test0002 test0102 test0004 test0020
Protocol-2051 The JMSReplyTo header MUST NOT be assigned a value. test0001 test0101 test0003 test0018 test0019
Protocol-2060 The jms-variant: jndi MUST be supported. test0001 test0002 test0101 test0102 test0003 test0004 test0005 test0009 test0010 test0011 test0012 test0017 test0018 test0019
Protocol-2070 if specified and if relevant, this MUST be used to derive the value to be used in the JMS header JMSReplyTo. test0020
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
Protocol-2072 While the requesting node can support either BytesMessage or TextMessage, the receiving node MUST support both BytesMessage and TextMessage. test0003 test0004 test0019
Protocol-2073 If the message is formatted as a JMS BytesMessage, then the sender and receiver MUST use the writeBytes() and readBytes() methods, respectively. untestable by test cases.
WSDLUsage-3001 If a property is specified at multiple levels within the WSDL document, the most specific setting MUST take precedence (URI specified in the address element's location attribute first, then other properties set on the port, then service, then binding). test0006 test0007 test0009 test0010 test0013 test0014 test0015 test0016
WSDLUsage-3002 The XML elements jndiConnectionFactoryName, jndiInitialContextFactory, jndiURL, deliveryMode, priority, timeToLive, and replyToName, in the soapjms namespace, MUST be supported when used in the context of the WSDL service, port, and binding elements. test0006 test0007 test0009 test0010 test0013 test0014 test0015 test0016
WSDLUsage-3003 To indicate that this SOAP/JMS binding is in use, the transport attribute MUST be set to the value http://www.w3.org/2010/soapjms/. test0006 test0007 test0009 test0010 test0013 test0014 test0015 test0016
WSDLUsage-3004 The value of the location attribute MUST be a URI corresponding to a JMS Destination, and SHOULD be a "jms" scheme URI. test0006 test0007 test0009 test0010 test0013 test0014 test0015 test0016

Generated from soapjms.xml using assertions.xsl.

SOAP over Java Message Service 1.0 Test Suite

Phil Adams, Editor
Roland Merrick, Chair