hi,
Iam building a application that uses a seperate bc4j project with a jaas/vpd security implementation. When I test my bc4j project it works fine (including security)
Next to this I have a project where Iam coding a struts based application. This also worked fine UNTIL I started using the bc4j project with the security implementation.
Ive modified the web.xml as in the tutorial in (http://otn.oracle.com/products/jdev/howtos/bc4j/bc4jvpdjaas.html) but it keeps giving me the following erro when I try and run my struts application.
the most important part of the error is the following:
## Detail 0 ##
javax.naming.NamingException. Root exception is java.lang.reflect.InvocationTargetException: oracle.jbo.JboException: JBO-33021: Failed authenticate user null
I do not get a login dialog (Iam using http basic authentication defined in the web.xml)
The expected behaviour would be a dialog (as I get when I test my bc4j project) where I can enter my login info.
Does anybody know what Iam doing wrong here????
full error listing below
500 Internal Server Error
JBO-30003: The application pool (Bc4jModuleLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-25222: Unable to create application module.
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(java.util.Hashtable)
DefaultConnectionStrategy.java:151
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(oracle.jbo.common.ampool.SessionCookie, oracle.jbo.common.ampool.EnvInfoProvider)
DefaultConnectionStrategy.java:76
java.lang.Object oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(java.util.Properties)
ApplicationPoolImpl.java:1767
java.lang.Object oracle.jbo.pool.ResourcePool.createResource(java.util.Properties)
ResourcePool.java:315
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(oracle.jbo.common.ampool.SessionCookie)
ApplicationPoolImpl.java:1394
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(oracle.jbo.common.ampool.SessionCookie, boolean)
ApplicationPoolImpl.java:2062
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean, long)
SessionCookieImpl.java:398
oracle.jbo.ApplicationModule oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(boolean, long)
HttpSessionCookieImpl.java:230
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean)
SessionCookieImpl.java:369
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule()
SessionCookieImpl.java:364
boolean oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(oracle.jbo.html.struts11.BC4JActionMapping, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
BC4JRequestProcessor.java:230
org.apache.struts.action.ActionMapping oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
BC4JRequestProcessor.java:124
void org.apache.struts.action.RequestProcessor.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
RequestProcessor.java:234
void org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
ActionServlet.java:1292
void org.apache.struts.action.ActionServlet.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
ActionServlet.java:492
void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
HttpServlet.java:740
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:721
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:306
boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:803
void java.lang.Thread.run()
Thread.java:484
## Detail 0 ##
javax.naming.NamingException. Root exception is java.lang.reflect.InvocationTargetException: oracle.jbo.JboException: JBO-33021: Failed authenticate user null
void oracle.jbo.common.UserAznUtil.authenticateUser(java.util.Hashtable)
UserAznUtil.java:53
void oracle.jbo.common.JboInitialContext.<init>(java.util.Hashtable)
JboInitialContext.java:63
void oracle.jbo.server.InitialContextImpl.<init>(java.util.Hashtable)
InitialContextImpl.java:36
java.lang.Object java.lang.reflect.Constructor.newInstance(java.lang.Object[])
native code
javax.naming.Context oracle.jbo.common.JboInitialContextFactory.getInitialContext(java.util.Hashtable)
JboInitialContextFactory.java:67
javax.naming.Context javax.naming.spi.NamingManager.getInitialContext(java.util.Hashtable)
NamingManager.java:665
javax.naming.Context javax.naming.InitialContext.getDefaultInitCtx()
InitialContext.java:246
void javax.naming.InitialContext.init(java.util.Hashtable)
InitialContext.java:222
void javax.naming.InitialContext.<init>(java.util.Hashtable)
InitialContext.java:198
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(java.util.Hashtable)
DefaultConnectionStrategy.java:109
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(oracle.jbo.common.ampool.SessionCookie, oracle.jbo.common.ampool.EnvInfoProvider)
DefaultConnectionStrategy.java:76
java.lang.Object oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(java.util.Properties)
ApplicationPoolImpl.java:1767
java.lang.Object oracle.jbo.pool.ResourcePool.createResource(java.util.Properties)
ResourcePool.java:315
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(oracle.jbo.common.ampool.SessionCookie)
ApplicationPoolImpl.java:1394
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(oracle.jbo.common.ampool.SessionCookie, boolean)
ApplicationPoolImpl.java:2062
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean, long)
SessionCookieImpl.java:398
oracle.jbo.ApplicationModule oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(boolean, long)
HttpSessionCookieImpl.java:230
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(boolean)
SessionCookieImpl.java:369
oracle.jbo.ApplicationModule oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule()
SessionCookieImpl.java:364
boolean oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(oracle.jbo.html.struts11.BC4JActionMapping, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
BC4JRequestProcessor.java:230
org.apache.struts.action.ActionMapping oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
BC4JRequestProcessor.java:124
void org.apache.struts.action.RequestProcessor.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
RequestProcessor.java:234
void org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
ActionServlet.java:1292
void org.apache.struts.action.ActionServlet.doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
ActionServlet.java:492
void javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
HttpServlet.java:740
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:721
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:306
boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:803
void java.lang.Thread.run()
Thread.java:484