You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by Akmal Sarhan <as...@byteaction.de> on 2003/05/14 16:45:01 UTC
Sharing Slide2.0 with another servlet
Hello,
I am new to Slide and I am trying to fight my way throgh to get it working with another servlet(using Turbine)
Following the instructions on the mailing list, I am trying to insert a new user and upload files into slide from my servlet.
deleting slide*.jar's + slide-webdavservlet.jar from %SLIDE_HOME%WEB-INF/lib into %CATALINA_HOME%/common/lib makes it possible for my servlet
to insert with no exceptions, however I can only access http://localhost:8080/slide/files to view the files but not to upload or edit any files using both IE or any other WebDav client (skunkdav). trying to access /actions or /users give me the following message:
Access to the specified resource () has been forbidden
even though I turned all security checks off
Copying the files back to %SLIDE_HOME%WEB-INF\lib , and restarting tomcat, I can access all the resources and modify files with no restrictions but trying to access
Slide again from my servlet I get the following Exceptions:
....
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at
java.lang.Thread.run(Thread.java:536) Caused by:
org.apache.slide.common.DomainInitializationFailedError: Domain initializationerror :
Domain.xml (Das System kann die angegebene Datei nicht finden) at
org.apache.slide.common.Domain.selfInit(Domain.java:797) at
org.apache.slide.common.Domain.accessNamespace(Domain.java:280) at
de.byteaction.commons.turbine.slide.util.SlideClientImpl.accessNamespace(SlideClientImpl.java:132) at
de.byteaction.commons.turbine.slide.util.content.SlideNode.(SlideNode.java:72)at
de.byteaction.commons.turbine.slide.util.content.SlideUser.(SlideUser.java:36)at
de.byteaction.commons.turbine.slide.util.content.SlideUser.(SlideUser.java:50)at
de.byteaction.commons.turbine.slide.services.security.SlidedDBSecurityService.addSlideUser(SlidedDBSecurityService.java:174) at
de.byteaction.commons.turbine.slide.services.security.SlidedDBSecurityService.addUser(SlidedDBSecurityService.java:109) at
org.apache.turbine.services.security.TurbineSecurity.addUser(TurbineSecurity.java:425) at
de.byteaction.commons.turbine.modules.actions.NewUserAction.doInsert(NewUserAction.java:116) ... 46 more
any hints would be much appreciated
Akmal
Re: Sharing Slide2.0 with another servlet
Posted by Martin Holz <ho...@fiz-chemie.de>.
"Akmal Sarhan" <as...@byteaction.de> writes:
> Hello,
> I am new to Slide and I am trying to fight my way throgh to get it working with another servlet(using Turbine)
>
> Following the instructions on the mailing list, I am trying to insert a new user and upload files into slide from my servlet.
> deleting slide*.jar's + slide-webdavservlet.jar from %SLIDE_HOME%WEB-INF/lib into %CATALINA_HOME%/common/lib makes it possible for my servlet
> to insert with no exceptions, however I can only access http://localhost:8080/slide/files to view the files but not to upload or edit any files using both IE or any other WebDav client (skunkdav). trying to access /actions or /users give me the following message:
> Access to the specified resource () has been forbidden
> even though I turned all security checks off
The error message looks, like it comes from the container, not from the slide servlet. Are you sure, you allow
a PUT in your web.xml?
> Copying the files back to %SLIDE_HOME%WEB-INF\lib , and restarting tomcat, I can access all the resources and modify files with no restrictions but trying to access
> Slide again from my servlet I get the following Exceptions:
>
> ....
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at
> java.lang.Thread.run(Thread.java:536) Caused by:
> org.apache.slide.common.DomainInitializationFailedError: Domain initializationerror :
> Domain.xml (Das System kann die angegebene Datei nicht finden) at
> org.apache.slide.common.Domain.selfInit(Domain.java:797) at
> org.apache.slide.common.Domain.accessNamespace(Domain.java:280) at
> de.byteaction.commons.turbine.slide.util.SlideClientImpl.accessNamespace(SlideClientImpl.java:132) at
> de.byteaction.commons.turbine.slide.util.content.SlideNode.(SlideNode.java:72)at
> de.byteaction.commons.turbine.slide.util.content.SlideUser.(SlideUser.java:36)at
> de.byteaction.commons.turbine.slide.util.content.SlideUser.(SlideUser.java:50)at
> de.byteaction.commons.turbine.slide.services.security.SlidedDBSecurityService.addSlideUser(SlidedDBSecurityService.java:174) at
> de.byteaction.commons.turbine.slide.services.security.SlidedDBSecurityService.addUser(SlidedDBSecurityService.java:109) at
> org.apache.turbine.services.security.TurbineSecurity.addUser(TurbineSecurity.java:425) at
> de.byteaction.commons.turbine.modules.actions.NewUserAction.doInsert(NewUserAction.java:116) ... 46 more
If two servlets in different servlet contexts want to share slide, you must initialize the Domain through
the SlideServerListener, before any of the Servlets is started. It looks to me, like your Turbine
servlet tries to initialize the Domain.
Add something like this to your server.xml:
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Listener className="wrappers.catalina.SlideServerListener"
logLevel="6"
configFileName="conf/Domain.xml"/>
...
Better remove any Domain.xml from your servlet context too make sure, the servlets never
initialize the Domain. If two instances of Domain operate on the same store you will sooner
or later use data.
Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: slide-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-user-help@jakarta.apache.org