Is it possible the Sessions are coming from different classloaders ? One embedded inside the server bundle (or perhapse base) and the other deployed directly ?
class != class often means the bytecode came from a different classloader. Ian On 12 Feb 2010, at 16:22, Justin Edelson wrote: > I'm at a loss here. Carsten (or anyone else) - any idea what's up with > the request below? > > debugging, I can see that the actual Session class is XASessionImpl. > javax.jcr.Session is indeed one of the interfaces passed to > Proxy.newProxyInstance(). The class loader looks right (the bundle > classloader for jackrabbit-server). > > This is with the current trunk. > > Justin > > $ curl -u admin:admin http://localhost:8888/index.html?sudo=anonymous > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> > <title>Error 500 > org.apache.sling.jcr.base.SessionProxyHandler$SessionProxy cannot be > cast to javax.jcr.Session</title> > </head> > <body><h2>HTTP ERROR 500</h2> > <p>Problem accessing /index.html. Reason: > <pre> org.apache.sling.jcr.base.SessionProxyHandler$SessionProxy > cannot be cast to javax.jcr.Session</pre></p><h3>Caused > by:</h3><pre>java.lang.ClassCastException: > org.apache.sling.jcr.base.SessionProxyHandler$SessionProxy cannot be > cast to javax.jcr.Session > at $Proxy0.impersonate(Unknown Source) > at > org.apache.sling.commons.auth.impl.SlingAuthenticator.handleImpersonation(SlingAuthenticator.java:870) > at > org.apache.sling.commons.auth.impl.SlingAuthenticator.getSession(SlingAuthenticator.java:538) > at > org.apache.sling.commons.auth.impl.SlingAuthenticator.handleSecurity(SlingAuthenticator.java:351) > at > org.apache.sling.engine.impl.SlingMainServlet.handleSecurity(SlingMainServlet.java:859) > at > org.apache.felix.http.base.internal.context.ServletContextImpl.handleSecurity(ServletContextImpl.java:224) > at > org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:86) > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:77) > at > org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42) > at > org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49) > at > org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33) > at > org.apache.sling.launchpad.testservices.filters.TestFilter.doFilter(TestFilter.java:50) > at > org.apache.sling.launchpad.testservices.filters.HttpServiceExtFilter.doFilter(HttpServiceExtFilter.java:31)
