tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vramanaj <vrama...@gmail.com>
Subject Re: How to access JNDI resources on Tomcat level
Date Tue, 01 Dec 2009 12:44:20 GMT

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<miki@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<miki@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


Mime
View raw message