Thanks Justin, I just removed all the libs from the jackrabbit war to the common libs and all works fine..
thanks for the help, you made my day.. I have a demo tomorrow :) BR, Yusuf On Sun, Jan 23, 2011 at 1:05 AM, Justin Edelson <[email protected]>wrote: > This approach should work, i.e. XASessionImpl *can* be cast to > JackrabbitSession. The only reason XASessionImpl couldn't be cast to > JackrabbitSession is if the two different classloaders were used to load > the JackrabbitSession class. > > Are these JAR files also in the Jackrabbit WAR file you're deploying? > > Justin > > On 1/22/11 4:45 PM, Yusuf Aaji wrote: > > Thanks Justin, > > > > Indeed I want the jackrabbit webapp to provide webdav access, and my > webapp > > for the fornt end. > > > > In my webapp I don't include any jackrabbit libraries. I only needed to > drop > > jcr2.0.jar in the common lib tomcat folder and later on I had to drop the > > jackrabbit-api-2.0.jar to be able to access the interface > JackrabbitSession. > > > > Is what I'm doing make any sense? or should I go with another approach? > > > > In fact I saw that accessing the repository throw the jackrabbit webapp > > context documented on jackrabbit website as one way to have local access > to > > the repository. > > > > > > thanks for any feedback in advanced. > > > > BR, > > Yusuf > > > > On Sun, Jan 23, 2011 at 12:18 AM, Justin Edelson > > <[email protected]>wrote: > > > >> This seems like a pretty straightforward classloader problem. The > >> classloader providing JackrabbitSession to the Jackrabbit webapp is \ > not > >> the same as the classloader providing JackrabbitSession to the webapp in > >> which the code below runs. > >> > >> I'm not sure why you'd use two webapps to begin with. But if you must, > this > >> really isn't a question about Jackrabbit, it's about the servlet spec > >> and/or > >> your app server. > >> > >> Justin > >> > >> On Sat, Jan 22, 2011 at 3:55 PM, Yusuf Aaji <[email protected]> > wrote: > >> > >>> any idea guys? I'm stuck here. > >>> > >>> Shouldn't I use this way to access the repository if I need user > >>> management? > >>> > >>> BR, > >>> Yusuf > >>> > >>> On Sat, Jan 22, 2011 at 12:13 AM, Yusuf Aaji <[email protected]> > >> wrote: > >>> > >>>> Hi, > >>>> > >>>> When I try to cast the Session object to JackrabbitSession to get the > >>>> UserManager I'm getting a classCastException > >>>> > >>>> #{accessManager.addUser}: java.lang.ClassCastException: > >>>> org.apache.jackrabbit.core.XASessionImpl cannot be cast to > >>>> org.apache.jackrabbit.api.JackrabbitSession > >>>> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) > >>>> at > >>>> > >>> > >> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) > >>>> at > >>>> > >>> > >> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > >>>> > >>>> and this is how I'm getting my session: > >>>> > >>>> ServletContext context = (ServletContext) > >>>> FacesContext.getCurrentInstance().getExternalContext().getContext(); > >>>> ServletContext jackrabbit = context.getContext("/jackrabbit"); > >>>> Repository repository = (Repository) > >>>> jackrabbit.getAttribute(Repository.class.getName()); > >>>> contentSession = repository.login( jcrCredentials ); > >>>> > >>>> > >>>> any ideas? isn't XASessionImpl implement JackrabbitSession > >> interface?!!! > >>>> > >>>> BR, > >>>> Yusuf > >>>> > >>> > >> > > > >
