WebDAV on local IIS

Dec 12, 2013 at 8:07 AM
Hi,

First of all thank you for this project. I was very excited to work on it.
After a while of testing I switch from IIS Express to my local IIS.
Application was configured in root of my local IIS (http://localhost:90) Of course I did find all hardcoded urls http://localhost:46961 and modify them. After this change almost everthing was working except saving a document. When I was trying to save document a "Save document dialog" appear. During debugging I've notice that html traffic between ms word and local IIS was diffrent from ms word and IIS Express.
Is there a chance that you can look at this issue.
I was able to reproduce this issue on more then one machine.

My environment:
-Windows 8.1
-Visual Studio 2013
-Office 2013 (testing on docx files)

Sebastian
Coordinator
Dec 16, 2013 at 11:55 PM
Seba, you are welcome!

I have this project in Azure for a client, and it works their like a charm. It was intended to run on IIS.
For debugging i use VS Cassini internal web server. I have not ran it on IIS Express.

i am not sure what the problem is. Azure uses IIS as well internally, but i never tested it on local IIS server.

-p
Dec 18, 2013 at 4:05 PM
Hi,

I found the issue.
Apparently even if default IIS webdav extension is disabled it can still affect iis result.
In my case when ms word was sending LOCK command to IIS, IIS was responding with HTTP/1.1 405 Method Not Allowed (in IIS express HTTP 200 OK)
The solution for that is to remove WebDAVModule and WebDAV handler.
So I just add in web.config secion <handlers>: <remove name="WebDAV" /> and in <modules>: <remove name="WebDAVModule"/>.
Now its saving.
Now I have diffrent issue (If-None-Match header is sended) but I can save a file.

Sebastian
Coordinator
Jan 20, 2014 at 7:55 PM
Good to hear. Hopefully this will help someone as well.

I am glad that you found this project helpful!

-p
Jun 27, 2014 at 6:54 PM
Edited Jun 27, 2014 at 6:55 PM
I've got a similar problem, but instead of IISExpress I'm using Cassini (Visual Studio 2010 webserver). Also, it is OPTIONS that is returning 405. Not LOCK.

When tracing using Cassini and Fiddler I see:

GET 200
OPTIONS 405
HEAD 200

When using Local IIS 7.5 and Fiddler I see:

GET 200
HEAD 200

Both Cassini and IIS are using the same physical path (i.e. same code including web.config)., I've disabled the WebDAVModule and WebDAV handler as Seba123 suggested, but IIS 7.5 still doesn't seem to get the OPTIONS request. I've also removed the OPTIONS handler by adding <remove name="OPTIONSVerbHandler"/>, but It seems like Word just never makes the request when talking to IIS 7.5.

My environment:
-Windows 7
-Visual Studio 2010
-Office 2007 (testing on docx files)
Jul 1, 2014 at 6:55 PM
Hi jl377897,
What I can suggest is WireShark - Thanks to it I was able to find solution for my problem.
You can sniff exact traffic between server and client.
Just you need to be aware that sniffing traffic on localhost is a bit problematic using WireShark but there are solutions for that.
Or you can set up server on diffrent machine (virtual) and then use WireShark

Can you share your web.config file via Skydrive or Dropbox?


Seba123