You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by vramanaj <vr...@gmail.com> on 2009/12/01 06:13:54 UTC

Re: How to access JNDI resources on Tomcat level

Still getting the same error after changing Data Source name to
'jdbc/DefaultDS'. Added resource link in webapp.xml.

         Error : Error During Lookup Name jdbc is not bound in this Context

Are there any extra customizations required for Josso+Tomcat6?
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Pid Ster wrote:
> 
> On 30/11/2009 13:46, vramanaj wrote:
>>
>> Hi,
>>
>> I am facing problem with configuring JNDI DataSources for Josso project
>> in
>> Tomcat 6. Getting the following errors in tomcat log when i am trying to
>> access the application. Defined resource in
>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>> application's
>> web.xml.
>>
>> Nov 30, 2009 7:48:52 AM
>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>> getDataSource
>> SEVERE: Error during DB connection lookup
>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in this
>> Context
>>         at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>         at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>
>> Steps Followed:
>> 1. Defined DataSource within GlobalNamingResources
>>             <Resource name="/DefaultDS"
> 
> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start the 
> name with a / character.
> 
>>             auth="Container"
>>             type="javax.sql.DataSource"
>>             description="SSO DataSource"
>>             username="josso"
>>             password="josso"
>>             driverClassName="oracle.jdbc.OracleDriver"
>>             url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>             factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>             maxActive="8"
>>             maxIdle="4"/>
>>
>> 2. Added res-reference in web.xml
>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
> 
> If you've defined it in the global resources, you don't need to redefine 
> it here, just use:
> 
>    <ResourceLink
>      global="jdbc/DefaultDS"
>      name="jdbc/DefaultDS"
>      type="javax.sql.DataSource"/>
> 
> 
> p
> 
>>             <Resource name="/DefaultDS"
>>             auth="Container"
>>             type="javax.sql.DataSource"
>>             description="SSO DataSource"
>>             username="josso"
>>             password="josso"
>>             driverClassName="oracle.jdbc.OracleDriver"
>>             url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>             factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>             maxActive="8"
>>             maxIdle="4"/>
>>
>> 4. In josso-gateway-db-stores.xml
>>     <db-istore:datasource-store id="josso-identity-store"
>>                       dsJndiName="java:comp/env/DefaultDS"
>>                       userQueryString="SELECT NAME FROM JOSSO_USER WHERE
>> LOGIN = ?"
>>                       rolesQueryString="SELECT ROLE FROM JOSSO_USER_ROLE
>> WHERE LOGIN = ?;"
>>                       credentialsQueryString="SELECT LOGIN AS USERNAME,
>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>                       userPropertiesQueryString="SELECT NAME, VALUE FROM
>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>                       resetCredentialDml="UPDATE JOSSO_USER SET PASSWORD
>> = ?
>> WHERE LOGIN = ?"
>>                       relayCredentialQueryString="SELECT LOGIN FROM
>> JOSSO_USER WHERE #?# = ?" />
>>
>> 5. When i try to access the example partner application (/partner),
>> getting
>> the following error:
>>             Error : Error During Lookup Name DefaultDS is not bound in
>> this
>> Context
>>
>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>
>> Please help me out to proceed further. Quick response is highly
>> appreciable.
>>
>> Thanks in Advance.
>>
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>
>>
>> Mikolaj Rydzewski-2 wrote:
>>>
>>> Mikolaj Rydzewski wrote:
>>>> Now, I want to setup Josso single sign on system (www.josso.org) and
>>>> force it to use JNDI DataSources as well. With no luck.
>>> Here's the solution for anyone interested (addition to typical josso
>>> setup):
>>>
>>>      * define DataSource within GlobalNamingResources (e.g. jdbc/users)
>>>      * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>        META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>      * reference DataSource from josso-gateway-config.xml using
>>>        java:comp/env/jdbc/users as its JNDI name
>>>
>>> Enjoy ;-)
>>>
>>> --
>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>> Quoted from:
>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>
>> Mikolaj Rydzewski-2 wrote:
>>>
>>> Christopher Schultz wrote:
>>>>>     * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>       META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>
>>>>
>>>> Note that this is not required for Realms. See
>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>
>>> I'm exposing DataSource to josso webapp, not the Realm. So I need this.
>>> Lack of such configuration was causing my initial problems.
>>>
>>> --
>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p26586790.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by Mikolaj Rydzewski <mi...@ceti.pl>.
vramanaj wrote:
> Still getting the same error after changing Data Source name to
> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>
>          Error : Error During Lookup Name jdbc is not bound in this Context
>
> Are there any extra customizations required for Josso+Tomcat6?
>   
The 'trick' with Josso configuration is, that you need to use short JNDI 
names at tomcat/web.xml/context.xml level (e.g. jdbc/DefaultDS), but you 
have to use full JNDI named at Josso configuration level (e.g. 
java:comp/env/jdbc/DefaultDS).

-- 
Mikolaj Rydzewski <mi...@ceti.pl>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by vramanaj <vr...@gmail.com>.
No, DataSource is working fine now. Thank yoy very much for all of your
support in resolving that problem. 
New issue has come in configuring the authentication scheme. 



Pid Ster wrote:
> 
> On 01/12/2009 11:41, vramanaj wrote:
>>
>> I have removed path and docbase from webapp.xml file. I have tried the db
>> connection from a servlet as below. I have gone through the josso source
>> codes. It is failing at below getDataSource function.
>>
>>      protected DataSource getDataSource() throws SSOIdentityException {
>>
>>          if (_datasource == null) {
>>
>>              try {
>>
>>                  if (logger.isDebugEnabled())
>> logger.debug("[getDatasource()
>> : ]" + _dsJndiName);
>>
>>                  InitialContext ic = new InitialContext();
>>                  _datasource = (DataSource) ic.lookup(_dsJndiName);
>>
>>              } catch (NamingException ne) {
>>                  logger.error("Error during DB connection lookup", ne);
>>                  throw new SSOIdentityException(
>>                          "Error During Lookup\n" + ne.getMessage());
>>              }
>>
>>          }
>>
>>          return _datasource;
>>      }
> 
> So, you are confirming that the DataSource isn't working?
> 
> p
> 
> 
>> Pid Ster wrote:
>>>
>>> On 01/12/2009 10:36, vramanaj wrote:
>>>>
>>>> Full Stack Trace:
>>>> Dec 1, 2009 1:46:58 AM
>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>> getDataSource
>>>> SEVERE: Error during DB connection lookup
>>>> javax.naming.NameNotFoundException: Name jdbc is not bound in this
>>>> Context
>>>>           at
>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>           at
>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>           at
>>>> org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
>>>>           at
>>>> javax.naming.InitialContext.lookup(InitialContext.java:392)
>>>>           at
>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDataSource(DataSourceIdentityStore.java:85)
>>>>           at
>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDBConnection(DataSourceIdentityStore.java:105)
>>>>           at
>>>> org.josso.gateway.identity.service.store.db.AbstractDBIdentityStore.loadCredentials(AbstractDBIdentityStore.java:125)
>>>>           at
>>>> org.josso.auth.scheme.AbstractAuthenticationScheme.getKnownCredentials(AbstractAuthenticationScheme.java:166)
>>>>           at
>>>> org.josso.auth.scheme.UsernamePasswordAuthScheme.authenticate(UsernamePasswordAuthScheme.java:160)
>>>>           at
>>>> org.josso.auth.AuthenticatorImpl.check(AuthenticatorImpl.java:69)
>>>>           at
>>>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.login(SSOIdentityProviderImpl.java:201)
>>>>           at
>>>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.assertIdentity(SSOIdentityProviderImpl.java:274)
>>>>           at
>>>> org.josso.gateway.SSOGatewayImpl.assertIdentity(SSOGatewayImpl.java:332)
>>>>           at
>>>> org.josso.gateway.signon.LoginAction.login(LoginAction.java:144)
>>>>           at
>>>> org.josso.gateway.signon.LoginAction.execute(LoginAction.java:86)
>>>>           at
>>>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>>>>           at
>>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>>>>           at
>>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>>>>           at
>>>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
>>>>           at
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>>>           at
>>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>           at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>           at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>           at
>>>> org.josso.gateway.filter.ProtocolHandlerFilter.doFilter(ProtocolHandlerFilter.java:86)
>>>>           at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>>           at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>           at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>>           at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>>           at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>>>           at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>           at
>>>> org.josso.tc60.agent.SSOAgentValve.invoke(SSOAgentValve.java:275)
>>>>           at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>           at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>>>           at
>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>>>>           at
>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>>>           at
>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>>>>           at java.lang.Thread.run(Thread.java:619)
>>>> ------------------------------------------------------------------------------------------------------
>>>> /apache-tomcat-6.0.18-sso/conf/Catalina/localhost/partnerapp.xml:
>>>>
>>>> <Context path="/partnerapp"
>>>> docBase="/usr2/tomcat/sso/apache-tomcat-6.0.18-sso/webapps/partnerapp"
>>>>            debug="99" reloadable="true" antiJARLocking="true"
>>>
>>> path is not legal here, and docBase is not necessary if the path to
>>> tomcat is the same for conf and webapps.
>>>
>>>
>>> Can you make a normal connection to the Db within a servlet, or does it
>>> throw an exception?
>>>
>>>    Context context = new InitialContext();
>>>    context  = (Context) context.lookup("java:/comp/env");
>>>    DataSource ds = (DataSource) context.lookup("jdbc/DefaultDS");
>>>    Connection conn = ds.getConnection();
>>>
>>>
>>> p
>>>
>>>
>>>> antiResourceLocking="false" crossContext="true">
>>>> <ResourceLink global="jdbc/DefaultDS" name="jdbc/DefaultDS"
>>>> type="javax.sql.DataSource"/>
>>>> </Context>
>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> Pid Ster wrote:
>>>>>
>>>>> On 01/12/2009 05:13, vramanaj wrote:
>>>>>>
>>>>>> Still getting the same error after changing Data Source name to
>>>>>> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>>>>>>
>>>>>>             Error : Error During Lookup Name jdbc is not bound in
>>>>>> this
>>>>>> Context
>>>>>
>>>>> What is the full stack trace?
>>>>>
>>>>> Are you adding it to tomcat/conf/webapp.xml or to the
>>>>> META-INF/context.xml?  Check that Tomcat isn't overwriting the former,
>>>>> with the latter during startup or app reload cycles.
>>>>>
>>>>>> Are there any extra customizations required for Josso+Tomcat6?
>>>>>
>>>>> Tomcat doesn't know what JOSSO is.
>>>>>
>>>>> Can you write a sample servlet that gets a connection from the
>>>>> DataSource you've defined?  Maybe we can see if there's a problem with
>>>>> the definition, or if it's JOSSO that can't see the DS.
>>>>>
>>>>>
>>>>> p
>>>>>
>>>>>
>>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>> Pid Ster wrote:
>>>>>>>
>>>>>>> On 30/11/2009 13:46, vramanaj wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I am facing problem with configuring JNDI DataSources for Josso
>>>>>>>> project
>>>>>>>> in
>>>>>>>> Tomcat 6. Getting the following errors in tomcat log when i am
>>>>>>>> trying
>>>>>>>> to
>>>>>>>> access the application. Defined resource in
>>>>>>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>>>>>>> application's
>>>>>>>> web.xml.
>>>>>>>>
>>>>>>>> Nov 30, 2009 7:48:52 AM
>>>>>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>>>>>> getDataSource
>>>>>>>> SEVERE: Error during DB connection lookup
>>>>>>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in
>>>>>>>> this
>>>>>>>> Context
>>>>>>>>            at
>>>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>>>>>            at
>>>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>>>>>
>>>>>>>> Steps Followed:
>>>>>>>> 1. Defined DataSource within GlobalNamingResources
>>>>>>>>                <Resource name="/DefaultDS"
>>>>>>>
>>>>>>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start
>>>>>>> the
>>>>>>> name with a / character.
>>>>>>>
>>>>>>>>                auth="Container"
>>>>>>>>                type="javax.sql.DataSource"
>>>>>>>>                description="SSO DataSource"
>>>>>>>>                username="josso"
>>>>>>>>                password="josso"
>>>>>>>>                driverClassName="oracle.jdbc.OracleDriver"
>>>>>>>>                url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>>>
>>>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>>>                maxActive="8"
>>>>>>>>                maxIdle="4"/>
>>>>>>>>
>>>>>>>> 2. Added res-reference in web.xml
>>>>>>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>>>>>>
>>>>>>> If you've defined it in the global resources, you don't need to
>>>>>>> redefine
>>>>>>> it here, just use:
>>>>>>>
>>>>>>>       <ResourceLink
>>>>>>>         global="jdbc/DefaultDS"
>>>>>>>         name="jdbc/DefaultDS"
>>>>>>>         type="javax.sql.DataSource"/>
>>>>>>>
>>>>>>>
>>>>>>> p
>>>>>>>
>>>>>>>>                <Resource name="/DefaultDS"
>>>>>>>>                auth="Container"
>>>>>>>>                type="javax.sql.DataSource"
>>>>>>>>                description="SSO DataSource"
>>>>>>>>                username="josso"
>>>>>>>>                password="josso"
>>>>>>>>                driverClassName="oracle.jdbc.OracleDriver"
>>>>>>>>                url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>>>
>>>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>>>                maxActive="8"
>>>>>>>>                maxIdle="4"/>
>>>>>>>>
>>>>>>>> 4. In josso-gateway-db-stores.xml
>>>>>>>>        <db-istore:datasource-store id="josso-identity-store"
>>>>>>>>                          dsJndiName="java:comp/env/DefaultDS"
>>>>>>>>                          userQueryString="SELECT NAME FROM
>>>>>>>> JOSSO_USER
>>>>>>>> WHERE
>>>>>>>> LOGIN = ?"
>>>>>>>>                          rolesQueryString="SELECT ROLE FROM
>>>>>>>> JOSSO_USER_ROLE
>>>>>>>> WHERE LOGIN = ?;"
>>>>>>>>                          credentialsQueryString="SELECT LOGIN AS
>>>>>>>> USERNAME,
>>>>>>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>>>>>>                          userPropertiesQueryString="SELECT NAME,
>>>>>>>> VALUE
>>>>>>>> FROM
>>>>>>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>>>>>>                          resetCredentialDml="UPDATE JOSSO_USER SET
>>>>>>>> PASSWORD
>>>>>>>> = ?
>>>>>>>> WHERE LOGIN = ?"
>>>>>>>>                          relayCredentialQueryString="SELECT LOGIN
>>>>>>>> FROM
>>>>>>>> JOSSO_USER WHERE #?# = ?" />
>>>>>>>>
>>>>>>>> 5. When i try to access the example partner application (/partner),
>>>>>>>> getting
>>>>>>>> the following error:
>>>>>>>>                Error : Error During Lookup Name DefaultDS is not
>>>>>>>> bound
>>>>>>>> in
>>>>>>>> this
>>>>>>>> Context
>>>>>>>>
>>>>>>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>>>>>>
>>>>>>>> Please help me out to proceed further. Quick response is highly
>>>>>>>> appreciable.
>>>>>>>>
>>>>>>>> Thanks in Advance.
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>>
>>>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>>>
>>>>>>>>> Mikolaj Rydzewski wrote:
>>>>>>>>>> Now, I want to setup Josso single sign on system (www.josso.org)
>>>>>>>>>> and
>>>>>>>>>> force it to use JNDI DataSources as well. With no luck.
>>>>>>>>> Here's the solution for anyone interested (addition to typical
>>>>>>>>> josso
>>>>>>>>> setup):
>>>>>>>>>
>>>>>>>>>         * define DataSource within GlobalNamingResources (e.g.
>>>>>>>>> jdbc/users)
>>>>>>>>>         * add JNDI support to josso webapp (e.g. and ResourceLink
>>>>>>>>> to
>>>>>>>>>           META-INF/context.xml and resource-ref to
>>>>>>>>> WEB-INF/web.xml)
>>>>>>>>>         * reference DataSource from josso-gateway-config.xml using
>>>>>>>>>           java:comp/env/jdbc/users as its JNDI name
>>>>>>>>>
>>>>>>>>> Enjoy ;-)
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>> Quoted from:
>>>>>>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>>>>>>
>>>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>>>
>>>>>>>>> Christopher Schultz wrote:
>>>>>>>>>>>        * add JNDI support to josso webapp (e.g. and ResourceLink
>>>>>>>>>>> to
>>>>>>>>>>>          META-INF/context.xml and resource-ref to
>>>>>>>>>>> WEB-INF/web.xml)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Note that this is not required for Realms. See
>>>>>>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>>>>>>
>>>>>>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need
>>>>>>>>> this.
>>>>>>>>> Lack of such configuration was causing my initial problems.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p26591124.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by Pid <pi...@pidster.com>.
On 01/12/2009 11:41, vramanaj wrote:
>
> I have removed path and docbase from webapp.xml file. I have tried the db
> connection from a servlet as below. I have gone through the josso source
> codes. It is failing at below getDataSource function.
>
>      protected DataSource getDataSource() throws SSOIdentityException {
>
>          if (_datasource == null) {
>
>              try {
>
>                  if (logger.isDebugEnabled()) logger.debug("[getDatasource()
> : ]" + _dsJndiName);
>
>                  InitialContext ic = new InitialContext();
>                  _datasource = (DataSource) ic.lookup(_dsJndiName);
>
>              } catch (NamingException ne) {
>                  logger.error("Error during DB connection lookup", ne);
>                  throw new SSOIdentityException(
>                          "Error During Lookup\n" + ne.getMessage());
>              }
>
>          }
>
>          return _datasource;
>      }

So, you are confirming that the DataSource isn't working?

p


> Pid Ster wrote:
>>
>> On 01/12/2009 10:36, vramanaj wrote:
>>>
>>> Full Stack Trace:
>>> Dec 1, 2009 1:46:58 AM
>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>> getDataSource
>>> SEVERE: Error during DB connection lookup
>>> javax.naming.NameNotFoundException: Name jdbc is not bound in this
>>> Context
>>>           at
>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>           at
>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>           at
>>> org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
>>>           at javax.naming.InitialContext.lookup(InitialContext.java:392)
>>>           at
>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDataSource(DataSourceIdentityStore.java:85)
>>>           at
>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDBConnection(DataSourceIdentityStore.java:105)
>>>           at
>>> org.josso.gateway.identity.service.store.db.AbstractDBIdentityStore.loadCredentials(AbstractDBIdentityStore.java:125)
>>>           at
>>> org.josso.auth.scheme.AbstractAuthenticationScheme.getKnownCredentials(AbstractAuthenticationScheme.java:166)
>>>           at
>>> org.josso.auth.scheme.UsernamePasswordAuthScheme.authenticate(UsernamePasswordAuthScheme.java:160)
>>>           at
>>> org.josso.auth.AuthenticatorImpl.check(AuthenticatorImpl.java:69)
>>>           at
>>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.login(SSOIdentityProviderImpl.java:201)
>>>           at
>>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.assertIdentity(SSOIdentityProviderImpl.java:274)
>>>           at
>>> org.josso.gateway.SSOGatewayImpl.assertIdentity(SSOGatewayImpl.java:332)
>>>           at
>>> org.josso.gateway.signon.LoginAction.login(LoginAction.java:144)
>>>           at
>>> org.josso.gateway.signon.LoginAction.execute(LoginAction.java:86)
>>>           at
>>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>>>           at
>>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>>>           at
>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>>>           at
>>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
>>>           at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>>           at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>           at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>           at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>           at
>>> org.josso.gateway.filter.ProtocolHandlerFilter.doFilter(ProtocolHandlerFilter.java:86)
>>>           at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>           at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>           at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>           at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>           at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>>           at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>           at
>>> org.josso.tc60.agent.SSOAgentValve.invoke(SSOAgentValve.java:275)
>>>           at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>           at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>>           at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>>>           at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>>           at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>>>           at java.lang.Thread.run(Thread.java:619)
>>> ------------------------------------------------------------------------------------------------------
>>> /apache-tomcat-6.0.18-sso/conf/Catalina/localhost/partnerapp.xml:
>>>
>>> <Context path="/partnerapp"
>>> docBase="/usr2/tomcat/sso/apache-tomcat-6.0.18-sso/webapps/partnerapp"
>>>            debug="99" reloadable="true" antiJARLocking="true"
>>
>> path is not legal here, and docBase is not necessary if the path to
>> tomcat is the same for conf and webapps.
>>
>>
>> Can you make a normal connection to the Db within a servlet, or does it
>> throw an exception?
>>
>>    Context context = new InitialContext();
>>    context  = (Context) context.lookup("java:/comp/env");
>>    DataSource ds = (DataSource) context.lookup("jdbc/DefaultDS");
>>    Connection conn = ds.getConnection();
>>
>>
>> p
>>
>>
>>> antiResourceLocking="false" crossContext="true">
>>> <ResourceLink global="jdbc/DefaultDS" name="jdbc/DefaultDS"
>>> type="javax.sql.DataSource"/>
>>> </Context>
>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>>
>>> Pid Ster wrote:
>>>>
>>>> On 01/12/2009 05:13, vramanaj wrote:
>>>>>
>>>>> Still getting the same error after changing Data Source name to
>>>>> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>>>>>
>>>>>             Error : Error During Lookup Name jdbc is not bound in this
>>>>> Context
>>>>
>>>> What is the full stack trace?
>>>>
>>>> Are you adding it to tomcat/conf/webapp.xml or to the
>>>> META-INF/context.xml?  Check that Tomcat isn't overwriting the former,
>>>> with the latter during startup or app reload cycles.
>>>>
>>>>> Are there any extra customizations required for Josso+Tomcat6?
>>>>
>>>> Tomcat doesn't know what JOSSO is.
>>>>
>>>> Can you write a sample servlet that gets a connection from the
>>>> DataSource you've defined?  Maybe we can see if there's a problem with
>>>> the definition, or if it's JOSSO that can't see the DS.
>>>>
>>>>
>>>> p
>>>>
>>>>
>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>> Pid Ster wrote:
>>>>>>
>>>>>> On 30/11/2009 13:46, vramanaj wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I am facing problem with configuring JNDI DataSources for Josso
>>>>>>> project
>>>>>>> in
>>>>>>> Tomcat 6. Getting the following errors in tomcat log when i am trying
>>>>>>> to
>>>>>>> access the application. Defined resource in
>>>>>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>>>>>> application's
>>>>>>> web.xml.
>>>>>>>
>>>>>>> Nov 30, 2009 7:48:52 AM
>>>>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>>>>> getDataSource
>>>>>>> SEVERE: Error during DB connection lookup
>>>>>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in
>>>>>>> this
>>>>>>> Context
>>>>>>>            at
>>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>>>>            at
>>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>>>>
>>>>>>> Steps Followed:
>>>>>>> 1. Defined DataSource within GlobalNamingResources
>>>>>>>                <Resource name="/DefaultDS"
>>>>>>
>>>>>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start
>>>>>> the
>>>>>> name with a / character.
>>>>>>
>>>>>>>                auth="Container"
>>>>>>>                type="javax.sql.DataSource"
>>>>>>>                description="SSO DataSource"
>>>>>>>                username="josso"
>>>>>>>                password="josso"
>>>>>>>                driverClassName="oracle.jdbc.OracleDriver"
>>>>>>>                url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>>
>>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>>                maxActive="8"
>>>>>>>                maxIdle="4"/>
>>>>>>>
>>>>>>> 2. Added res-reference in web.xml
>>>>>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>>>>>
>>>>>> If you've defined it in the global resources, you don't need to
>>>>>> redefine
>>>>>> it here, just use:
>>>>>>
>>>>>>       <ResourceLink
>>>>>>         global="jdbc/DefaultDS"
>>>>>>         name="jdbc/DefaultDS"
>>>>>>         type="javax.sql.DataSource"/>
>>>>>>
>>>>>>
>>>>>> p
>>>>>>
>>>>>>>                <Resource name="/DefaultDS"
>>>>>>>                auth="Container"
>>>>>>>                type="javax.sql.DataSource"
>>>>>>>                description="SSO DataSource"
>>>>>>>                username="josso"
>>>>>>>                password="josso"
>>>>>>>                driverClassName="oracle.jdbc.OracleDriver"
>>>>>>>                url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>>
>>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>>                maxActive="8"
>>>>>>>                maxIdle="4"/>
>>>>>>>
>>>>>>> 4. In josso-gateway-db-stores.xml
>>>>>>>        <db-istore:datasource-store id="josso-identity-store"
>>>>>>>                          dsJndiName="java:comp/env/DefaultDS"
>>>>>>>                          userQueryString="SELECT NAME FROM JOSSO_USER
>>>>>>> WHERE
>>>>>>> LOGIN = ?"
>>>>>>>                          rolesQueryString="SELECT ROLE FROM
>>>>>>> JOSSO_USER_ROLE
>>>>>>> WHERE LOGIN = ?;"
>>>>>>>                          credentialsQueryString="SELECT LOGIN AS
>>>>>>> USERNAME,
>>>>>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>>>>>                          userPropertiesQueryString="SELECT NAME, VALUE
>>>>>>> FROM
>>>>>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>>>>>                          resetCredentialDml="UPDATE JOSSO_USER SET
>>>>>>> PASSWORD
>>>>>>> = ?
>>>>>>> WHERE LOGIN = ?"
>>>>>>>                          relayCredentialQueryString="SELECT LOGIN FROM
>>>>>>> JOSSO_USER WHERE #?# = ?" />
>>>>>>>
>>>>>>> 5. When i try to access the example partner application (/partner),
>>>>>>> getting
>>>>>>> the following error:
>>>>>>>                Error : Error During Lookup Name DefaultDS is not bound
>>>>>>> in
>>>>>>> this
>>>>>>> Context
>>>>>>>
>>>>>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>>>>>
>>>>>>> Please help me out to proceed further. Quick response is highly
>>>>>>> appreciable.
>>>>>>>
>>>>>>> Thanks in Advance.
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>>
>>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>>
>>>>>>>> Mikolaj Rydzewski wrote:
>>>>>>>>> Now, I want to setup Josso single sign on system (www.josso.org)
>>>>>>>>> and
>>>>>>>>> force it to use JNDI DataSources as well. With no luck.
>>>>>>>> Here's the solution for anyone interested (addition to typical josso
>>>>>>>> setup):
>>>>>>>>
>>>>>>>>         * define DataSource within GlobalNamingResources (e.g.
>>>>>>>> jdbc/users)
>>>>>>>>         * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>>           META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>>         * reference DataSource from josso-gateway-config.xml using
>>>>>>>>           java:comp/env/jdbc/users as its JNDI name
>>>>>>>>
>>>>>>>> Enjoy ;-)
>>>>>>>>
>>>>>>>> --
>>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> Quoted from:
>>>>>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>>>>>
>>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>>
>>>>>>>> Christopher Schultz wrote:
>>>>>>>>>>        * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>>>>          META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Note that this is not required for Realms. See
>>>>>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>>>>>
>>>>>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need
>>>>>>>> this.
>>>>>>>> Lack of such configuration was causing my initial problems.
>>>>>>>>
>>>>>>>> --
>>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by vramanaj <vr...@gmail.com>.
I have removed path and docbase from webapp.xml file. I have tried the db
connection from a servlet as below. I have gone through the josso source
codes. It is failing at below getDataSource function.

    protected DataSource getDataSource() throws SSOIdentityException {

        if (_datasource == null) {

            try {

                if (logger.isDebugEnabled()) logger.debug("[getDatasource()
: ]" + _dsJndiName);

                InitialContext ic = new InitialContext();
                _datasource = (DataSource) ic.lookup(_dsJndiName);

            } catch (NamingException ne) {
                logger.error("Error during DB connection lookup", ne);
                throw new SSOIdentityException(
                        "Error During Lookup\n" + ne.getMessage());
            }

        }

        return _datasource;
    }




Pid Ster wrote:
> 
> On 01/12/2009 10:36, vramanaj wrote:
>>
>> Full Stack Trace:
>> Dec 1, 2009 1:46:58 AM
>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>> getDataSource
>> SEVERE: Error during DB connection lookup
>> javax.naming.NameNotFoundException: Name jdbc is not bound in this
>> Context
>>          at
>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>          at
>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>          at
>> org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
>>          at javax.naming.InitialContext.lookup(InitialContext.java:392)
>>          at
>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDataSource(DataSourceIdentityStore.java:85)
>>          at
>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDBConnection(DataSourceIdentityStore.java:105)
>>          at
>> org.josso.gateway.identity.service.store.db.AbstractDBIdentityStore.loadCredentials(AbstractDBIdentityStore.java:125)
>>          at
>> org.josso.auth.scheme.AbstractAuthenticationScheme.getKnownCredentials(AbstractAuthenticationScheme.java:166)
>>          at
>> org.josso.auth.scheme.UsernamePasswordAuthScheme.authenticate(UsernamePasswordAuthScheme.java:160)
>>          at
>> org.josso.auth.AuthenticatorImpl.check(AuthenticatorImpl.java:69)
>>          at
>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.login(SSOIdentityProviderImpl.java:201)
>>          at
>> org.josso.gateway.identity.service.SSOIdentityProviderImpl.assertIdentity(SSOIdentityProviderImpl.java:274)
>>          at
>> org.josso.gateway.SSOGatewayImpl.assertIdentity(SSOGatewayImpl.java:332)
>>          at
>> org.josso.gateway.signon.LoginAction.login(LoginAction.java:144)
>>          at
>> org.josso.gateway.signon.LoginAction.execute(LoginAction.java:86)
>>          at
>> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>>          at
>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>>          at
>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>>          at
>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
>>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>          at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>          at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>          at
>> org.josso.gateway.filter.ProtocolHandlerFilter.doFilter(ProtocolHandlerFilter.java:86)
>>          at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>          at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>          at
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>          at
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>          at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>>          at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>          at
>> org.josso.tc60.agent.SSOAgentValve.invoke(SSOAgentValve.java:275)
>>          at
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>          at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>>          at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>>          at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>>          at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>>          at java.lang.Thread.run(Thread.java:619)
>> ------------------------------------------------------------------------------------------------------
>> /apache-tomcat-6.0.18-sso/conf/Catalina/localhost/partnerapp.xml:
>>
>> <Context path="/partnerapp"
>> docBase="/usr2/tomcat/sso/apache-tomcat-6.0.18-sso/webapps/partnerapp"
>>           debug="99" reloadable="true" antiJARLocking="true"
> 
> path is not legal here, and docBase is not necessary if the path to 
> tomcat is the same for conf and webapps.
> 
> 
> Can you make a normal connection to the Db within a servlet, or does it 
> throw an exception?
> 
>   Context context = new InitialContext();
>   context  = (Context) context.lookup("java:/comp/env");
>   DataSource ds = (DataSource) context.lookup("jdbc/DefaultDS");
>   Connection conn = ds.getConnection();
> 
> 
> p
> 
> 
>> antiResourceLocking="false" crossContext="true">
>> <ResourceLink global="jdbc/DefaultDS" name="jdbc/DefaultDS"
>> type="javax.sql.DataSource"/>
>> </Context>
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>
>>
>> Pid Ster wrote:
>>>
>>> On 01/12/2009 05:13, vramanaj wrote:
>>>>
>>>> Still getting the same error after changing Data Source name to
>>>> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>>>>
>>>>            Error : Error During Lookup Name jdbc is not bound in this
>>>> Context
>>>
>>> What is the full stack trace?
>>>
>>> Are you adding it to tomcat/conf/webapp.xml or to the
>>> META-INF/context.xml?  Check that Tomcat isn't overwriting the former,
>>> with the latter during startup or app reload cycles.
>>>
>>>> Are there any extra customizations required for Josso+Tomcat6?
>>>
>>> Tomcat doesn't know what JOSSO is.
>>>
>>> Can you write a sample servlet that gets a connection from the
>>> DataSource you've defined?  Maybe we can see if there's a problem with
>>> the definition, or if it's JOSSO that can't see the DS.
>>>
>>>
>>> p
>>>
>>>
>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>
>>>> Pid Ster wrote:
>>>>>
>>>>> On 30/11/2009 13:46, vramanaj wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am facing problem with configuring JNDI DataSources for Josso
>>>>>> project
>>>>>> in
>>>>>> Tomcat 6. Getting the following errors in tomcat log when i am trying
>>>>>> to
>>>>>> access the application. Defined resource in
>>>>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>>>>> application's
>>>>>> web.xml.
>>>>>>
>>>>>> Nov 30, 2009 7:48:52 AM
>>>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>>>> getDataSource
>>>>>> SEVERE: Error during DB connection lookup
>>>>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in
>>>>>> this
>>>>>> Context
>>>>>>           at
>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>>>           at
>>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>>>
>>>>>> Steps Followed:
>>>>>> 1. Defined DataSource within GlobalNamingResources
>>>>>>               <Resource name="/DefaultDS"
>>>>>
>>>>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start
>>>>> the
>>>>> name with a / character.
>>>>>
>>>>>>               auth="Container"
>>>>>>               type="javax.sql.DataSource"
>>>>>>               description="SSO DataSource"
>>>>>>               username="josso"
>>>>>>               password="josso"
>>>>>>               driverClassName="oracle.jdbc.OracleDriver"
>>>>>>               url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>
>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>               maxActive="8"
>>>>>>               maxIdle="4"/>
>>>>>>
>>>>>> 2. Added res-reference in web.xml
>>>>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>>>>
>>>>> If you've defined it in the global resources, you don't need to
>>>>> redefine
>>>>> it here, just use:
>>>>>
>>>>>      <ResourceLink
>>>>>        global="jdbc/DefaultDS"
>>>>>        name="jdbc/DefaultDS"
>>>>>        type="javax.sql.DataSource"/>
>>>>>
>>>>>
>>>>> p
>>>>>
>>>>>>               <Resource name="/DefaultDS"
>>>>>>               auth="Container"
>>>>>>               type="javax.sql.DataSource"
>>>>>>               description="SSO DataSource"
>>>>>>               username="josso"
>>>>>>               password="josso"
>>>>>>               driverClassName="oracle.jdbc.OracleDriver"
>>>>>>               url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>>
>>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>>               maxActive="8"
>>>>>>               maxIdle="4"/>
>>>>>>
>>>>>> 4. In josso-gateway-db-stores.xml
>>>>>>       <db-istore:datasource-store id="josso-identity-store"
>>>>>>                         dsJndiName="java:comp/env/DefaultDS"
>>>>>>                         userQueryString="SELECT NAME FROM JOSSO_USER
>>>>>> WHERE
>>>>>> LOGIN = ?"
>>>>>>                         rolesQueryString="SELECT ROLE FROM
>>>>>> JOSSO_USER_ROLE
>>>>>> WHERE LOGIN = ?;"
>>>>>>                         credentialsQueryString="SELECT LOGIN AS
>>>>>> USERNAME,
>>>>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>>>>                         userPropertiesQueryString="SELECT NAME, VALUE
>>>>>> FROM
>>>>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>>>>                         resetCredentialDml="UPDATE JOSSO_USER SET
>>>>>> PASSWORD
>>>>>> = ?
>>>>>> WHERE LOGIN = ?"
>>>>>>                         relayCredentialQueryString="SELECT LOGIN FROM
>>>>>> JOSSO_USER WHERE #?# = ?" />
>>>>>>
>>>>>> 5. When i try to access the example partner application (/partner),
>>>>>> getting
>>>>>> the following error:
>>>>>>               Error : Error During Lookup Name DefaultDS is not bound
>>>>>> in
>>>>>> this
>>>>>> Context
>>>>>>
>>>>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>>>>
>>>>>> Please help me out to proceed further. Quick response is highly
>>>>>> appreciable.
>>>>>>
>>>>>> Thanks in Advance.
>>>>>>
>>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>
>>>>>>
>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>
>>>>>>> Mikolaj Rydzewski wrote:
>>>>>>>> Now, I want to setup Josso single sign on system (www.josso.org)
>>>>>>>> and
>>>>>>>> force it to use JNDI DataSources as well. With no luck.
>>>>>>> Here's the solution for anyone interested (addition to typical josso
>>>>>>> setup):
>>>>>>>
>>>>>>>        * define DataSource within GlobalNamingResources (e.g.
>>>>>>> jdbc/users)
>>>>>>>        * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>          META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>        * reference DataSource from josso-gateway-config.xml using
>>>>>>>          java:comp/env/jdbc/users as its JNDI name
>>>>>>>
>>>>>>> Enjoy ;-)
>>>>>>>
>>>>>>> --
>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Quoted from:
>>>>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>>>>
>>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>>
>>>>>>> Christopher Schultz wrote:
>>>>>>>>>       * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>>>         META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>>>
>>>>>>>>
>>>>>>>> Note that this is not required for Realms. See
>>>>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>>>>
>>>>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need
>>>>>>> this.
>>>>>>> Lack of such configuration was causing my initial problems.
>>>>>>>
>>>>>>> --
>>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p26590480.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by Pid <pi...@pidster.com>.
On 01/12/2009 10:36, vramanaj wrote:
>
> Full Stack Trace:
> Dec 1, 2009 1:46:58 AM
> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
> getDataSource
> SEVERE: Error during DB connection lookup
> javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
>          at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>          at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>          at
> org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
>          at javax.naming.InitialContext.lookup(InitialContext.java:392)
>          at
> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDataSource(DataSourceIdentityStore.java:85)
>          at
> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDBConnection(DataSourceIdentityStore.java:105)
>          at
> org.josso.gateway.identity.service.store.db.AbstractDBIdentityStore.loadCredentials(AbstractDBIdentityStore.java:125)
>          at
> org.josso.auth.scheme.AbstractAuthenticationScheme.getKnownCredentials(AbstractAuthenticationScheme.java:166)
>          at
> org.josso.auth.scheme.UsernamePasswordAuthScheme.authenticate(UsernamePasswordAuthScheme.java:160)
>          at org.josso.auth.AuthenticatorImpl.check(AuthenticatorImpl.java:69)
>          at
> org.josso.gateway.identity.service.SSOIdentityProviderImpl.login(SSOIdentityProviderImpl.java:201)
>          at
> org.josso.gateway.identity.service.SSOIdentityProviderImpl.assertIdentity(SSOIdentityProviderImpl.java:274)
>          at
> org.josso.gateway.SSOGatewayImpl.assertIdentity(SSOGatewayImpl.java:332)
>          at org.josso.gateway.signon.LoginAction.login(LoginAction.java:144)
>          at org.josso.gateway.signon.LoginAction.execute(LoginAction.java:86)
>          at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
>          at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
>          at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>          at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>          at
> org.josso.gateway.filter.ProtocolHandlerFilter.doFilter(ProtocolHandlerFilter.java:86)
>          at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>          at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>          at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>          at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>          at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>          at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>          at org.josso.tc60.agent.SSOAgentValve.invoke(SSOAgentValve.java:275)
>          at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>          at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>          at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>          at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>          at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>          at java.lang.Thread.run(Thread.java:619)
> ------------------------------------------------------------------------------------------------------
> /apache-tomcat-6.0.18-sso/conf/Catalina/localhost/partnerapp.xml:
>
> <Context path="/partnerapp"
> docBase="/usr2/tomcat/sso/apache-tomcat-6.0.18-sso/webapps/partnerapp"
>           debug="99" reloadable="true" antiJARLocking="true"

path is not legal here, and docBase is not necessary if the path to 
tomcat is the same for conf and webapps.


Can you make a normal connection to the Db within a servlet, or does it 
throw an exception?

  Context context = new InitialContext();
  context  = (Context) context.lookup("java:/comp/env");
  DataSource ds = (DataSource) context.lookup("jdbc/DefaultDS");
  Connection conn = ds.getConnection();


p


> antiResourceLocking="false" crossContext="true">
> <ResourceLink global="jdbc/DefaultDS" name="jdbc/DefaultDS"
> type="javax.sql.DataSource"/>
> </Context>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> Pid Ster wrote:
>>
>> On 01/12/2009 05:13, vramanaj wrote:
>>>
>>> Still getting the same error after changing Data Source name to
>>> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>>>
>>>            Error : Error During Lookup Name jdbc is not bound in this
>>> Context
>>
>> What is the full stack trace?
>>
>> Are you adding it to tomcat/conf/webapp.xml or to the
>> META-INF/context.xml?  Check that Tomcat isn't overwriting the former,
>> with the latter during startup or app reload cycles.
>>
>>> Are there any extra customizations required for Josso+Tomcat6?
>>
>> Tomcat doesn't know what JOSSO is.
>>
>> Can you write a sample servlet that gets a connection from the
>> DataSource you've defined?  Maybe we can see if there's a problem with
>> the definition, or if it's JOSSO that can't see the DS.
>>
>>
>> p
>>
>>
>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> Pid Ster wrote:
>>>>
>>>> On 30/11/2009 13:46, vramanaj wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I am facing problem with configuring JNDI DataSources for Josso project
>>>>> in
>>>>> Tomcat 6. Getting the following errors in tomcat log when i am trying
>>>>> to
>>>>> access the application. Defined resource in
>>>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>>>> application's
>>>>> web.xml.
>>>>>
>>>>> Nov 30, 2009 7:48:52 AM
>>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>>> getDataSource
>>>>> SEVERE: Error during DB connection lookup
>>>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in this
>>>>> Context
>>>>>           at
>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>>           at
>>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>>
>>>>> Steps Followed:
>>>>> 1. Defined DataSource within GlobalNamingResources
>>>>>               <Resource name="/DefaultDS"
>>>>
>>>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start the
>>>> name with a / character.
>>>>
>>>>>               auth="Container"
>>>>>               type="javax.sql.DataSource"
>>>>>               description="SSO DataSource"
>>>>>               username="josso"
>>>>>               password="josso"
>>>>>               driverClassName="oracle.jdbc.OracleDriver"
>>>>>               url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>
>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>               maxActive="8"
>>>>>               maxIdle="4"/>
>>>>>
>>>>> 2. Added res-reference in web.xml
>>>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>>>
>>>> If you've defined it in the global resources, you don't need to redefine
>>>> it here, just use:
>>>>
>>>>      <ResourceLink
>>>>        global="jdbc/DefaultDS"
>>>>        name="jdbc/DefaultDS"
>>>>        type="javax.sql.DataSource"/>
>>>>
>>>>
>>>> p
>>>>
>>>>>               <Resource name="/DefaultDS"
>>>>>               auth="Container"
>>>>>               type="javax.sql.DataSource"
>>>>>               description="SSO DataSource"
>>>>>               username="josso"
>>>>>               password="josso"
>>>>>               driverClassName="oracle.jdbc.OracleDriver"
>>>>>               url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>>
>>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>>               maxActive="8"
>>>>>               maxIdle="4"/>
>>>>>
>>>>> 4. In josso-gateway-db-stores.xml
>>>>>       <db-istore:datasource-store id="josso-identity-store"
>>>>>                         dsJndiName="java:comp/env/DefaultDS"
>>>>>                         userQueryString="SELECT NAME FROM JOSSO_USER
>>>>> WHERE
>>>>> LOGIN = ?"
>>>>>                         rolesQueryString="SELECT ROLE FROM
>>>>> JOSSO_USER_ROLE
>>>>> WHERE LOGIN = ?;"
>>>>>                         credentialsQueryString="SELECT LOGIN AS
>>>>> USERNAME,
>>>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>>>                         userPropertiesQueryString="SELECT NAME, VALUE
>>>>> FROM
>>>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>>>                         resetCredentialDml="UPDATE JOSSO_USER SET
>>>>> PASSWORD
>>>>> = ?
>>>>> WHERE LOGIN = ?"
>>>>>                         relayCredentialQueryString="SELECT LOGIN FROM
>>>>> JOSSO_USER WHERE #?# = ?" />
>>>>>
>>>>> 5. When i try to access the example partner application (/partner),
>>>>> getting
>>>>> the following error:
>>>>>               Error : Error During Lookup Name DefaultDS is not bound in
>>>>> this
>>>>> Context
>>>>>
>>>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>>>
>>>>> Please help me out to proceed further. Quick response is highly
>>>>> appreciable.
>>>>>
>>>>> Thanks in Advance.
>>>>>
>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>
>>>>>> Mikolaj Rydzewski wrote:
>>>>>>> Now, I want to setup Josso single sign on system (www.josso.org) and
>>>>>>> force it to use JNDI DataSources as well. With no luck.
>>>>>> Here's the solution for anyone interested (addition to typical josso
>>>>>> setup):
>>>>>>
>>>>>>        * define DataSource within GlobalNamingResources (e.g.
>>>>>> jdbc/users)
>>>>>>        * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>          META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>        * reference DataSource from josso-gateway-config.xml using
>>>>>>          java:comp/env/jdbc/users as its JNDI name
>>>>>>
>>>>>> Enjoy ;-)
>>>>>>
>>>>>> --
>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>> Quoted from:
>>>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>>>
>>>>> Mikolaj Rydzewski-2 wrote:
>>>>>>
>>>>>> Christopher Schultz wrote:
>>>>>>>>       * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>>         META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>>
>>>>>>>
>>>>>>> Note that this is not required for Realms. See
>>>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>>>
>>>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need
>>>>>> this.
>>>>>> Lack of such configuration was causing my initial problems.
>>>>>>
>>>>>> --
>>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by vramanaj <vr...@gmail.com>.
Full Stack Trace:
Dec 1, 2009 1:46:58 AM
org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
getDataSource
SEVERE: Error during DB connection lookup
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
        at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
        at
org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at
org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDataSource(DataSourceIdentityStore.java:85)
        at
org.josso.gateway.identity.service.store.db.DataSourceIdentityStore.getDBConnection(DataSourceIdentityStore.java:105)
        at
org.josso.gateway.identity.service.store.db.AbstractDBIdentityStore.loadCredentials(AbstractDBIdentityStore.java:125)
        at
org.josso.auth.scheme.AbstractAuthenticationScheme.getKnownCredentials(AbstractAuthenticationScheme.java:166)
        at
org.josso.auth.scheme.UsernamePasswordAuthScheme.authenticate(UsernamePasswordAuthScheme.java:160)
        at org.josso.auth.AuthenticatorImpl.check(AuthenticatorImpl.java:69)
        at
org.josso.gateway.identity.service.SSOIdentityProviderImpl.login(SSOIdentityProviderImpl.java:201)
        at
org.josso.gateway.identity.service.SSOIdentityProviderImpl.assertIdentity(SSOIdentityProviderImpl.java:274)
        at
org.josso.gateway.SSOGatewayImpl.assertIdentity(SSOGatewayImpl.java:332)
        at org.josso.gateway.signon.LoginAction.login(LoginAction.java:144)
        at org.josso.gateway.signon.LoginAction.execute(LoginAction.java:86)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.josso.gateway.filter.ProtocolHandlerFilter.doFilter(ProtocolHandlerFilter.java:86)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.josso.tc60.agent.SSOAgentValve.invoke(SSOAgentValve.java:275)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
------------------------------------------------------------------------------------------------------
/apache-tomcat-6.0.18-sso/conf/Catalina/localhost/partnerapp.xml:

<Context path="/partnerapp"
docBase="/usr2/tomcat/sso/apache-tomcat-6.0.18-sso/webapps/partnerapp"
         debug="99" reloadable="true" antiJARLocking="true"
antiResourceLocking="false" crossContext="true">
<ResourceLink global="jdbc/DefaultDS" name="jdbc/DefaultDS"
type="javax.sql.DataSource"/>
</Context>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Pid Ster wrote:
> 
> On 01/12/2009 05:13, vramanaj wrote:
>>
>> Still getting the same error after changing Data Source name to
>> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>>
>>           Error : Error During Lookup Name jdbc is not bound in this
>> Context
> 
> What is the full stack trace?
> 
> Are you adding it to tomcat/conf/webapp.xml or to the 
> META-INF/context.xml?  Check that Tomcat isn't overwriting the former, 
> with the latter during startup or app reload cycles.
> 
>> Are there any extra customizations required for Josso+Tomcat6?
> 
> Tomcat doesn't know what JOSSO is.
> 
> Can you write a sample servlet that gets a connection from the 
> DataSource you've defined?  Maybe we can see if there's a problem with 
> the definition, or if it's JOSSO that can't see the DS.
> 
> 
> p
> 
> 
>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>
>> Pid Ster wrote:
>>>
>>> On 30/11/2009 13:46, vramanaj wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am facing problem with configuring JNDI DataSources for Josso project
>>>> in
>>>> Tomcat 6. Getting the following errors in tomcat log when i am trying
>>>> to
>>>> access the application. Defined resource in
>>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>>> application's
>>>> web.xml.
>>>>
>>>> Nov 30, 2009 7:48:52 AM
>>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>>> getDataSource
>>>> SEVERE: Error during DB connection lookup
>>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in this
>>>> Context
>>>>          at
>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>>          at
>>>> org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>
>>>> Steps Followed:
>>>> 1. Defined DataSource within GlobalNamingResources
>>>>              <Resource name="/DefaultDS"
>>>
>>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start the
>>> name with a / character.
>>>
>>>>              auth="Container"
>>>>              type="javax.sql.DataSource"
>>>>              description="SSO DataSource"
>>>>              username="josso"
>>>>              password="josso"
>>>>              driverClassName="oracle.jdbc.OracleDriver"
>>>>              url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>             
>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>              maxActive="8"
>>>>              maxIdle="4"/>
>>>>
>>>> 2. Added res-reference in web.xml
>>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>>
>>> If you've defined it in the global resources, you don't need to redefine
>>> it here, just use:
>>>
>>>     <ResourceLink
>>>       global="jdbc/DefaultDS"
>>>       name="jdbc/DefaultDS"
>>>       type="javax.sql.DataSource"/>
>>>
>>>
>>> p
>>>
>>>>              <Resource name="/DefaultDS"
>>>>              auth="Container"
>>>>              type="javax.sql.DataSource"
>>>>              description="SSO DataSource"
>>>>              username="josso"
>>>>              password="josso"
>>>>              driverClassName="oracle.jdbc.OracleDriver"
>>>>              url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>>             
>>>> factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>>              maxActive="8"
>>>>              maxIdle="4"/>
>>>>
>>>> 4. In josso-gateway-db-stores.xml
>>>>      <db-istore:datasource-store id="josso-identity-store"
>>>>                        dsJndiName="java:comp/env/DefaultDS"
>>>>                        userQueryString="SELECT NAME FROM JOSSO_USER
>>>> WHERE
>>>> LOGIN = ?"
>>>>                        rolesQueryString="SELECT ROLE FROM
>>>> JOSSO_USER_ROLE
>>>> WHERE LOGIN = ?;"
>>>>                        credentialsQueryString="SELECT LOGIN AS
>>>> USERNAME,
>>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>>                        userPropertiesQueryString="SELECT NAME, VALUE
>>>> FROM
>>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>>                        resetCredentialDml="UPDATE JOSSO_USER SET
>>>> PASSWORD
>>>> = ?
>>>> WHERE LOGIN = ?"
>>>>                        relayCredentialQueryString="SELECT LOGIN FROM
>>>> JOSSO_USER WHERE #?# = ?" />
>>>>
>>>> 5. When i try to access the example partner application (/partner),
>>>> getting
>>>> the following error:
>>>>              Error : Error During Lookup Name DefaultDS is not bound in
>>>> this
>>>> Context
>>>>
>>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>>
>>>> Please help me out to proceed further. Quick response is highly
>>>> appreciable.
>>>>
>>>> Thanks in Advance.
>>>>
>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>> Mikolaj Rydzewski-2 wrote:
>>>>>
>>>>> Mikolaj Rydzewski wrote:
>>>>>> Now, I want to setup Josso single sign on system (www.josso.org) and
>>>>>> force it to use JNDI DataSources as well. With no luck.
>>>>> Here's the solution for anyone interested (addition to typical josso
>>>>> setup):
>>>>>
>>>>>       * define DataSource within GlobalNamingResources (e.g.
>>>>> jdbc/users)
>>>>>       * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>         META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>       * reference DataSource from josso-gateway-config.xml using
>>>>>         java:comp/env/jdbc/users as its JNDI name
>>>>>
>>>>> Enjoy ;-)
>>>>>
>>>>> --
>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>> Quoted from:
>>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>>
>>>> Mikolaj Rydzewski-2 wrote:
>>>>>
>>>>> Christopher Schultz wrote:
>>>>>>>      * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>>        META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>>
>>>>>>
>>>>>> Note that this is not required for Realms. See
>>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>>
>>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need
>>>>> this.
>>>>> Lack of such configuration was causing my initial problems.
>>>>>
>>>>> --
>>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p26589184.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: How to access JNDI resources on Tomcat level

Posted by Pid <pi...@pidster.com>.
On 01/12/2009 05:13, vramanaj wrote:
>
> Still getting the same error after changing Data Source name to
> 'jdbc/DefaultDS'. Added resource link in webapp.xml.
>
>           Error : Error During Lookup Name jdbc is not bound in this Context

What is the full stack trace?

Are you adding it to tomcat/conf/webapp.xml or to the 
META-INF/context.xml?  Check that Tomcat isn't overwriting the former, 
with the latter during startup or app reload cycles.

> Are there any extra customizations required for Josso+Tomcat6?

Tomcat doesn't know what JOSSO is.

Can you write a sample servlet that gets a connection from the 
DataSource you've defined?  Maybe we can see if there's a problem with 
the definition, or if it's JOSSO that can't see the DS.


p


> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Pid Ster wrote:
>>
>> On 30/11/2009 13:46, vramanaj wrote:
>>>
>>> Hi,
>>>
>>> I am facing problem with configuring JNDI DataSources for Josso project
>>> in
>>> Tomcat 6. Getting the following errors in tomcat log when i am trying to
>>> access the application. Defined resource in
>>> conf/Catalina/localhost/webapp.xml. And res-reference in the
>>> application's
>>> web.xml.
>>>
>>> Nov 30, 2009 7:48:52 AM
>>> org.josso.gateway.identity.service.store.db.DataSourceIdentityStore
>>> getDataSource
>>> SEVERE: Error during DB connection lookup
>>> javax.naming.NameNotFoundException: Name DefaultDS is not bound in this
>>> Context
>>>          at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
>>>          at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>
>>> Steps Followed:
>>> 1. Defined DataSource within GlobalNamingResources
>>>              <Resource name="/DefaultDS"
>>
>> Try using "jdbc/DefaultDS".  I don't believe you're allowed to start the
>> name with a / character.
>>
>>>              auth="Container"
>>>              type="javax.sql.DataSource"
>>>              description="SSO DataSource"
>>>              username="josso"
>>>              password="josso"
>>>              driverClassName="oracle.jdbc.OracleDriver"
>>>              url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>              maxActive="8"
>>>              maxIdle="4"/>
>>>
>>> 2. Added res-reference in web.xml
>>> 3. Defined resource in conf/Catalina/localhost/webapp.xml
>>
>> If you've defined it in the global resources, you don't need to redefine
>> it here, just use:
>>
>>     <ResourceLink
>>       global="jdbc/DefaultDS"
>>       name="jdbc/DefaultDS"
>>       type="javax.sql.DataSource"/>
>>
>>
>> p
>>
>>>              <Resource name="/DefaultDS"
>>>              auth="Container"
>>>              type="javax.sql.DataSource"
>>>              description="SSO DataSource"
>>>              username="josso"
>>>              password="josso"
>>>              driverClassName="oracle.jdbc.OracleDriver"
>>>              url="jdbc:oracle:thin:@md1npddev10:1521:jdaj"
>>>              factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
>>>              maxActive="8"
>>>              maxIdle="4"/>
>>>
>>> 4. In josso-gateway-db-stores.xml
>>>      <db-istore:datasource-store id="josso-identity-store"
>>>                        dsJndiName="java:comp/env/DefaultDS"
>>>                        userQueryString="SELECT NAME FROM JOSSO_USER WHERE
>>> LOGIN = ?"
>>>                        rolesQueryString="SELECT ROLE FROM JOSSO_USER_ROLE
>>> WHERE LOGIN = ?;"
>>>                        credentialsQueryString="SELECT LOGIN AS USERNAME,
>>> PASSWORD FROM JOSSO_USER WHERE LOGIN = ?"
>>>                        userPropertiesQueryString="SELECT NAME, VALUE FROM
>>> JOSSO_USER_PROPERTY WHERE LOGIN = ?"
>>>                        resetCredentialDml="UPDATE JOSSO_USER SET PASSWORD
>>> = ?
>>> WHERE LOGIN = ?"
>>>                        relayCredentialQueryString="SELECT LOGIN FROM
>>> JOSSO_USER WHERE #?# = ?" />
>>>
>>> 5. When i try to access the example partner application (/partner),
>>> getting
>>> the following error:
>>>              Error : Error During Lookup Name DefaultDS is not bound in
>>> this
>>> Context
>>>
>>> I am using Josso 1.8.0 with tomcat 6.0.18.
>>>
>>> Please help me out to proceed further. Quick response is highly
>>> appreciable.
>>>
>>> Thanks in Advance.
>>>
>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>>
>>> Mikolaj Rydzewski-2 wrote:
>>>>
>>>> Mikolaj Rydzewski wrote:
>>>>> Now, I want to setup Josso single sign on system (www.josso.org) and
>>>>> force it to use JNDI DataSources as well. With no luck.
>>>> Here's the solution for anyone interested (addition to typical josso
>>>> setup):
>>>>
>>>>       * define DataSource within GlobalNamingResources (e.g. jdbc/users)
>>>>       * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>         META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>       * reference DataSource from josso-gateway-config.xml using
>>>>         java:comp/env/jdbc/users as its JNDI name
>>>>
>>>> Enjoy ;-)
>>>>
>>>> --
>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>>
>>>>
>>> Quoted from:
>>> http://old.nabble.com/How-to-access-JNDI-resources-on-Tomcat-level-tp19672443p19689928.html
>>>
>>> Mikolaj Rydzewski-2 wrote:
>>>>
>>>> Christopher Schultz wrote:
>>>>>>      * add JNDI support to josso webapp (e.g. and ResourceLink to
>>>>>>        META-INF/context.xml and resource-ref to WEB-INF/web.xml)
>>>>>>
>>>>>
>>>>> Note that this is not required for Realms. See
>>>>> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#Context+versus+GlobalNamingResources
>>>>>
>>>> I'm exposing DataSource to josso webapp, not the Realm. So I need this.
>>>> Lack of such configuration was causing my initial problems.
>>>>
>>>> --
>>>> Mikolaj Rydzewski<mi...@ceti.pl>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>
>>>>
>>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org