- From: Peter Easton <peaston@progress.com>
- Date: Mon, 2 Jun 2008 18:54:52 -0400
- To: "SOAP/JMS (list)" <public-soap-jms@w3.org>
- Message-ID: <3712271BEF30D74CBEA9E827CD9ABDBD018369EB@MAIL03.bedford.progress.com>
URI Scheme for JMS Test Comments The "Abstract" talks about general applicability of JMS URI for locating a destination, i.e. that SOAP/JMS is not the only use. So, we could have a separate test suite - in addition to those for the SOAP/JMS use case - that test the ability of an implementation to interpret, send and receive against a list of test URIs. Testable Assertions Section 3 Syntax of a jms URI is a definitive ABNF definition. Section 3.1 URI scheme semantics has the following assertions "JMS URI schemes are used to locate JMS Destination resources" "The required particles in the JMS URI are the scheme name ("jms"), the variant identifier, and the "jms-dest" portions. The two recognized variants (jms-variant above) are "jndi", and "context". There are "may" and "should" statement for which perhaps we have non-mandatory tests: "Each variant may have query parameters specific to that variation." "All such parameters that cannot be shared across schemes should use the name of the variant as the prefix to the parameters." "Parameters that apply across multiple variants, perhaps because they are generally applicable, such as JMS settings, should not have any particular prefix, and should not begin with any known prefix." Section 4.1 "Shared Parameters" has definitive statements on the following parameters, how they map to JMS, how they default deliveryMode timeToLive priority replyToName Section 4.2.1 JNDI Parameters has clear statements on what the JNDI parameters are with reference the JNDI spec and on how destinations are derived.: jndiConnectionFactoryName jndiInitialContextFactory jndiURL "To perform a look-up based on a JNDI variant URI an application must create a JNDI InitialContext object. The InitialContext object can then be used to look up the JMS ConnectionFactory object (using the "jndiConnectionFactoryName" URI parameter); the target JMS Destination object (using the "jms-dest" portion of the JMS URI); and the "replyToName" JMS Destination object (if the "replyToName" parameter is specified on the URI)." etc etc Section 4.3 Context Variant "The "context" variant intends that the jms-dest is purely a logical name, ... How this binding is done is outside the scope of this specification." "Note that all of the shared parameters defined above may be used with this variant" "The lookup mechanism for the context variant must result in etc" "The set of parameters is extensible. " "Encoding considerations" Escaping rules for "?", "&" and (optionally ":") within jms-dest should be tested. Should sentences "Message senders are strongly urged to remove from the URI extra parameters like the above in environments where the data will be redundant with information specified elsewhere in the JMS message. " "If a recipient is aware of the jms URI scheme, and it receives a message containing a JMS URI, it MUST ignore or discard parameters that it does not recognize."
Received on Monday, 2 June 2008 22:55:45 UTC