【发布时间】:2016-11-07 08:33:53
【问题描述】:
我们实现了自己的 WebDAV 服务器。某些使用 Office(Word、Excel)的用户以只读方式打开文档。接下来是关于问题计算机的查询:
- OPTIONS http://pastie.org/10957339,响应(在一些 NTLM 身份验证链之后):http://pastie.org/10957337(等于这些,问题不会重现)
- 获取
- 头
- 头
正常查询(在健康的计算机上)是:OPTIONS、HEAD、LOCK、GET... 因此,Word 不会尝试锁定文档,而是以只读方式打开它。
我们已经尝试过了:
- 已检查 WebDAV 链接,它属于e(您可以在 OPTIONS 查询中看到)
- 已检查,OPTIONS 响应包含标头 MS-Author-Via: DAV
- 检查,该服务器没有崩溃。所有响应都正常。
- 设置注册表项
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet\OpenDocumentsReadWriteWhileBrowsing到 1 如 here 所说。 - 将注册表项
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel设置为2,将HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Internet\BasicAuthLevel设置为2,如here 所述。 - 从https://www.ajaxbrowser.com 打开文档 - 一切正常,文档以读写方式打开。
- 清除 IE 中的 cookie,登录 IE(为 MS Word 提供 cookie)
- 试图找出问题计算机和健康计算机之间的差异。在不同版本的 Office、不同版本的 Windows(7、8、10)、通过代理连接的所有计算机(也包括健康的计算机)上重现问题。
- 如here 所说,在
HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Common\Internet\Server Cache中清除键。
有什么线索吗?为什么 Office 不尝试锁定文档?
【问题讨论】:
-
@DirkVollmar 在第一个 OPTIONS 请求将要 GET 之后。 GET 可以,但它已经意味着该文档以只读方式打开,因为未执行 LOCK。我将 OPTIONS 响应与工作响应进行了比较,没有发现差异。response 用于工作应用(在我的开发 PC 上),您可以将其与客户端响应进行比较,它们是相同的。
-
OPTIONS 请求的完整响应是什么?您还可以发送 HTTP 请求和 PROPFIND 请求的响应吗?
-
@Evert 如帖子中所写,回复为this。如果我不匹配,PROFIND 通常发生在保存之前。我们不打算保存文档,因为它是只读的。无论如何,我明天会看到,如果有任何 PROFIND 存在。
-
不幸的是,馅饼不起作用(不再)。但是(这实际上也很不幸)你的问题和@evert 的补充是我能找到的 Word 与 WebDAV 通信的唯一全面要求列表。非常感谢您完美编辑的问题!
标签: ms-word ms-office readonly webdav