84a85,86
>         public static final String JNDI_PREFIX = "jndi:";
> 
87,88c89,93
<         public static java.lang.String CNTXT_PROVIDER_URL = "iiop://localhost:900";
<         public static java.lang.String CNTXT_FACTORY_NAME = "com.ibm.ejs.ns.jndi.CNInitialContextFactory";
---
> 
> // YS: removed because these default arent really general.
> //        public static java.lang.String CNTXT_PROVIDER_URL = "iiop://localhost:900";
> //        public static java.lang.String CNTXT_FACTORY_NAME = "com.ibm.ejs.ns.jndi.CNInitialContextFactory";
> 
98c103,119
< private void initialize() throws SOAPException {
---
> //private void initialize() throws SOAPException {
> //
> //        if(contxt == null) {
> //
> //                java.util.Properties properties = new java.util.Properties();
> //                properties.put(javax.naming.Context.PROVIDER_URL, CNTXT_PROVIDER_URL);
> //                properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, CNTXT_FACTORY_NAME);
> //                try {
> //                        contxt = new javax.naming.InitialContext(properties);
> //                } catch (NamingException ne) {
> //                        // ErrorListener?
> //                        System.out.println("Naming Exception caught during InitialContext creation @ " + CNTXT_PROVIDER_URL);
> //                        throw new SOAPException(Constants.FAULT_CODE_SERVER, "Unable to initialize context" );
> //                }
> //        }
> //
> //}
99a121
> private void initialize(Hashtable deploymentProperties) throws SOAPException {
103,112d124
<                 properties.put(javax.naming.Context.PROVIDER_URL, CNTXT_PROVIDER_URL);
<                 properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, CNTXT_FACTORY_NAME);
<                 try {
<                         contxt = new javax.naming.InitialContext(properties);
<                 } catch (NamingException ne) {
<                         // ErrorListener?
<                         System.out.println("Naming Exception caught during InitialContext creation @ " + CNTXT_PROVIDER_URL);
<                         throw new SOAPException(Constants.FAULT_CODE_SERVER, "Unable to initialize context" );
<                 }
<         }
114,123c126,140
< }
< 
< private void initialize(String url, String factory) throws SOAPException {
< 
<         if(contxt == null) {
< 
<                 java.util.Properties properties = new java.util.Properties();
< 
<                 properties.put(javax.naming.Context.PROVIDER_URL, url);
<                 properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, factory);
---
>                 Enumeration e = deploymentProperties.keys();
>                 while (e.hasMoreElements())
>                 {
>                   // Check the property is a jndi property
>                   String prop = (String) e.nextElement();
>                   if (!prop.startsWith(JNDI_PREFIX))
>                      continue;
> 
>                   // get the shortened key and value and put into the jndi properties
>                   String jndiKey = prop.substring(JNDI_PREFIX.length());
>                   String jndiValue = (String) deploymentProperties.get(prop);
>                   properties.put(jndiKey, jndiValue);
>                 }
> //                properties.put(javax.naming.Context.PROVIDER_URL, url);
> //                properties.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, factory);
129c146,149
<                         System.out.println("Naming Exception caught during InitialContext creation @ " + CNTXT_PROVIDER_URL);
---
>                         System.out.println("Naming Exception caught during InitialContext creation");
>                         System.out.println("jndi properties: " + properties);
>                         System.out.println("exception: ");
>                         ne.printStackTrace(System.out);
215,219c235,239
< public void locate(DeploymentDescriptor dd, 
<                    Envelope env, 
<                    Call call, 
<                    String methodName, 
<                    String targetObjectURI, 
---
> public void locate(DeploymentDescriptor dd,
>                    Envelope env,
>                    Call call,
>                    String methodName,
>                    String targetObjectURI,
243,250c263,269
< 
<         String ContxtProviderURL = (String) props.get("ContextProviderURL");
<         String ContxtFactoryName = (String) props.get("FullContextFactoryName");
< 
<         if ((ContxtProviderURL != null) && (ContxtFactoryName != null))
<                 initialize(ContxtProviderURL, ContxtFactoryName);
<         else
<                 initialize();
---
> //        String ContxtProviderURL = (String) props.get("ContextProviderURL");
> //        String ContxtFactoryName = (String) props.get("FullContextFactoryName");
> //
> //        if ((ContxtProviderURL != null) && (ContxtFactoryName != null))
>                 initialize(props);
> //        else
> //                initialize();
