ACTION-29 Write up a proposal to differentiate JNDI connection properties in the URI and WSDL

I am writing this proposal in response to the issue raised with
Action-22:
http://lists.w3.org/Archives/Public/public-soap-jms/2008Aug/0039.html
  
I suggest we add two new sections to the JMS URI Scheme 1.0
specification:

4.2.1.4.  Additional JNDI Parameters

   It is possible that connecting to a JNDI provider requires additional

   parameters.  These parameters can be passed in as custom parameters 
   (see Section 4.4).  To identify a custom parameter as JNDI specific, 
   the parameter name must start with the prefix "jndiProperty.".

   For example, if the JNDI provider requires a parameter named 
   com.sun.jndi.someParameter, you can supply the parameter in the URI 
   as: jndiProperty.com.sun.jndi.someParameter=someValue
   
4.2.2.1  Performing a JNDI Look-up with Custom Parameters
  
   Any custom parameters with a prefix of "jndiProperty." in the URI 
   should be used when establishing a connection to the JNDI provider.
   Before passing the custom parameter to the JNDI provider, remove the 
   "jndiProperty." prefix as the prefix is for identifying the custom 
   parameter in the URI only.

   For example, this JMS URI...
   
   jms:jndi:REQ_QUEUE?jndiURL=file:/C:/JMSAdmin
   &jndiInitialContextFactory=com.sun.jndi.fscontext.RefFSContextFactory
   &jndiConnectionFactoryName=CONNFACT  
   &jndiProperty.com.sun.jndi.someParameter=someValue
   
   ...instructs the consumer to use the following properties to connect 
   to the JNDI provider:

   java.naming.provider.url=file:/C:/JMSAdmin
 
java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
   com.sun.jndi.someParameter=someValue   
   

I also suggest the following changes to the SOAP over JMS 1.0
specification:

+ Add a new definition to section 2.2.1

[Definition: soapjms:jndiProperty ] (xsd:string)
   * Specifies an additional property, other than
jndiInitialContextFactory and jndiURL, that is needed to connect to the
JNDI provider.
   * The JNDI property's name should be included in the name attribute,
and its value should be included in the value attribute.
   * an optional property that MAY be specified more than once
   * MAY be specified in JMS URI, WSDL, or somewhere else in the
environment
   
   Example: the JNDI property com.sun.jndi.someParameter can be included
in the WSDL as follows: 
     <soapjms:jndiProperty name="com.sun.jndi.someParameter"
value="someValue" type="string"/>
   

+ Add a row to the table in section 2.2.4

Specification Property: jndiProperty
URI Representation: as a query parameter combining "jndiProperty." with
the value of the jndiProperty's name attribute.
Client Treatment: Should exclude

Received on Monday, 22 September 2008 23:13:43 UTC