Solving issue “405.0 – Method Not Allowed” when accessing WebDAV folder

Problem

Using EPiServer WebDAV you can face with following issue: after setting up WebDAV in EPiServer CMS and client configuration you still cannot access your web folder. Depending on client software you can get different error messages. Windows explorer says that it cannot access your resource and suggests to check name spelling. Other clients return errors “Login failed” or something like “Directory listing denied”.

Investigating

To get more details you can enable server side logging for EPiServer WebDAV:

<?xml version="1.0" encoding="utf-8"?>

<log4net>

  <appender name="OutputDebugStringAppender" type="log4net.Appender.OutputDebugStringAppender">

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date [%thread] %-5level %type.%method - %message%newline" />

    </layout>

  </appender>

  <logger name="EPiServer.WebDav" additivity="false">

    <level value="Debug" />

    <appender-ref ref="OutputDebugStringAppender" />

  </logger>

</log4net>

DAV Explorer can be used to get detailed log with all sent and received messages on client side.

In my case it turned out that EPiServer.WebDAV.Handler was processing only first OPTIONS requests.

Second request PROPFIND didn’t reach our handler. In respond to PROPFIND client got “405 Method Not Allowed” response from module named WebDAVModule. And this was the cause of the problem.

Cause

WebDAVModule intercepts WebDAV requests so they are not processed by EPiServer.WebDAV handler. Most likely it is not registered in your site config file. You can find it in Modules list for your web site in IIS Manager.

WebDAV Module in IIS

This is native IIS module, on my IIS it is enabled by default on each new web site.

Solution

Remove native WebDAVModule module if you don’t use it:

<configuration>

  <system.webServer>

    <modules>      

      <remove name="WebDAVModule" />

    </modules>

  </system.webServer>

</configuration>

After this EPiServer.WebDAV.Handler should be able to process all corresponding requests. WebDAV configuration guide is updated with this information.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.