Problem 1: Document Edit/Save in client doesn't work
When user clicks on a document link in document library to
open in edit mode (through a browser popup or from client program), the client
program (for example MS Word) opens the document. However, user will not be
able to save back to server, because when he clicks on ‘Save’ button, it will
display the ‘Save As’ dialog box where user can only select local destination
to save the file. Also, if it was a Microsoft Office document, user can click
on File tab and sees that the document is in ‘Read Only mode’ even though he
opened it with edit mode.
Problem 2: Open With Explorer doesn't work either!
Here are the environment details:
- This is a fresh SharePoint 2013 installation (Out-of-box)
- Some Web Applications are on port 80 (http) while others are on port 443 (https)
- WFE Servers configurations: Installed Desktop Experience feature on WFE servers, enabled WebClient service to run automatically, library contribute permissions are set correctly. Users tested as site members and as site collection administrator, removed all Office 2013 products from WFE servers including SharePoint Designer 2013.
- Client machine configurations: Office 2010 installed, added site to Trusted Sites zone, installed Add-ons for IE
Errors in logs:
Digging into ULS resulted in finding the following errors for w3wp.exe process:
Could not get DocumentContent row: 0x80004005.
Failure when fetching document. 0x80070012
Root Cause:
Actually this is is really about one thing: the SharePoint WebDav. Both features 'Document Edit/Save' 'Open In Exporer' depend on it.
Document edit mode uses SharePoint WebDav http calls to upload the
document back to target location (i.e. Document Library) when document is saved
in client program (such as MS Word).
When user clicks 'Save' button in client program, the client program has to discover if server supports required protocols including WebDav service (this is called Office Protocol Discovery). The client program checks first for cached info (called Office Protocol Discovery Cache) in client machine. This depends if there was a prior successful call to the same resource (i.e. the Doc Library). The cache is a windows registry key: HKEY_CURRENT_USER\Software\Microsoft\Office\[Version]\Common\Internet\Server Cache
When user clicks 'Save' button in client program, the client program has to discover if server supports required protocols including WebDav service (this is called Office Protocol Discovery). The client program checks first for cached info (called Office Protocol Discovery Cache) in client machine. This depends if there was a prior successful call to the same resource (i.e. the Doc Library). The cache is a windows registry key: HKEY_CURRENT_USER\Software\Microsoft\Office\[Version]\Common\Internet\Server Cache
If there is no value for the target location folder in that key , then browser will try to initiate an http OPTIONS request to ask for folder info, and will require separate authentication. Otherwise, if there is a sub-key value for the target location folder, then no need to initiate OPTIONS request and automatic logon will proceed automatically.
When client program initiates an
OPTIONS request (and in some cases it needed to initiate PROPFIND requests too),
The OPTIONS request is getting rejected. This is because of an IIS settings
coming from IIS-lockdown script that disallow the ‘OPTIONS’ http verb from
being processed. As a result, SharePoint never received the call for edit and
assumes the default Read-Only mode. The client program will get an HTTP 404
(not found error).
Refer to the following useful
links for more info:
Solution:
IIS must allow the ‘OPTIONS’ http verb to be used.
IIS must allow the ‘OPTIONS’ http verb to be used.
For a specific web application, check if IIS is blocking ‘OPTIONS’
verb (the ‘Allowed’ value is set to false).
To fix this, remove the ‘OPTIONS’ entry from Request Filtering section
in IIS, this will affect web.config file for target web app only. You must do
this for all WFE servers where the web applications are available.
The same change can be applied for the entire farm, and this will
affect applicationhost.config file.
Example:
I used Fiddler to show the inner data of what's going on for a sample document inside Shared Documents library: /sites/IIbraheemTestSite/Shared%20Documents/TestDoc.docx
Before Change | After Change | |
OPTIONS request |
Failed |
Succeed |
Registry folder sub-key in client machine | No data stored |
Data stored |
Hope that helps!
Breathtakingly delightful utilization of words.
ReplyDeleteeidas compliance
I definitely enjoying every little bit of it. It is a great website and nice share. I want to thank you. Good job! You guys do a great blog, and have some great contents. Keep up the good work. document design solutions
ReplyDeleteI truly welcome this superb post that you have accommodated us. I guarantee this would be valuable for the vast majority of the general population. dokument
ReplyDeleteI’ve read some good stuff here. Definitely worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website. passports
ReplyDeleteBy the by, it is hard to transfer a PDF report with private data. pdf-png.com
ReplyDeleteThey can upgrade your images-a firm giving photo editing administrations can help your business by improving or further developing images which are expected for promoting or showcasing efforts.
ReplyDeleteeCommerce Product Photo Editing Service