jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Warner Onstine <wonst...@vmsinfo.com>
Subject Re: some WebDAV issues
Date Tue, 26 Aug 2008 15:28:55 GMT
Ahh, it looks like some kind of servlet filter setup issue as I just  
swapped out our custom for the old SimpleAccessManager/LoginModule and  
am still seeing the behavior. We currently have a main servlet called  
adsite and then underneath we have this setup:

web.xml snippets


(and this might be screwing stuff up, not sure - it's our Single Sign  
On Login Filter for the rest of the app )



The RepoFilter is fairly simple:

public class RepoFilter implements Filter {

	public void destroy() {

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
         HttpServletRequest httpRequest = (HttpServletRequest) request;
         RequestDispatcher dispatcher =  
		dispatcher.forward(httpRequest, response);

	public void init(FilterConfig filterConfig) throws ServletException {


As is the listener:
public class WebDAVListener implements ServletContextListener {

     public void contextInitialized(ServletContextEvent event) {
         Properties props = (Properties)  
         String configFile = props.getProperty("configFile");
         String repHomeDir = props.getProperty("repHomeDir");

         Hashtable env = new Hashtable();
                 + ".provider.DummyInitialContextFactory");
         env.put(Context.PROVIDER_URL, "localhost");
         InitialContext ctx = null;
         try {
             ctx = new InitialContext(env);
             RegistryHelper.registerRepository(ctx, "repo",  
configFile, repHomeDir, true);
             ServletContext sc = event.getServletContext();
             sc.setAttribute("context", ctx);
         catch (Exception e) {

     public void contextDestroyed(ServletContextEvent event) {


And Servlet:
public class WebDAVServlet extends SimpleWebdavServlet {

     public Repository getRepository() {
         return WebDAVUtils.getRepo(getServletContext());



Any insight as to what's killing the writing to the WebDAV folder is  
greatly appreciated. Basically what is happening is just what I  
described. I try and drop a file or folder onto the shared folder then  
it claims that an older version of the file already exists and do I  
want to replace it. If I choose yes it spins for a bit and then gives  
up. Initially when I drop the file on there it shows up in the folder  
for a second or two then disappears.

I am not seeing anything in the logs to clue me into what could be  
intercepting this transfer so any help is greatly appreciated.

And just like other db-driven webapps we also have a TransactionFilter  
but it matches against different URL patterns (like /app, *.page, etc.).


On Aug 26, 2008, at 12:42 AM, Angela Schreiber wrote:

> Warner Onstine wrote:
>> Hi all,
>> We are currently using the following setup:
>> - Extended org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet  
>> to provide our own repo
>> - Implemented our own LoginModule
>> - Implemented our own AccessManager
>> - Implemented our own Principal
>> Before doing the last two we were able to connect to the default  
>> repository and drop new files and folders no problem.
> so, it seems that your custom impl of accessmgr or loginmodule
> introduced some problem, doesn't it?
> [...]
>> When I did the AccessManager I pretty much followed the  
>> SimpleAccessManager and modified it. I'm not sure what may have  
>> changed but here is the behavior now.
> [...]
>> Any suggestions on these two issues would be greatly appreciated.
> did you check the logs?
> please be more specific about the problem you are facing.
> thanks
> angela

View raw message