【问题标题】:MS Office opens documents readonly with WebDAVMS Office 使用 WebDAV 以只读方式打开文档
【发布时间】:2016-11-07 08:33:53
【问题描述】:

我们实现了自己的 WebDAV 服务器。某些使用 Office(Word、Excel)的用户以只读方式打开文档。接下来是关于问题计算机的查询:

  1. OPTIONS http://pastie.org/10957339,响应(在一些 NTLM 身份验证链之后):http://pastie.org/10957337(等于这些,问题不会重现)
  2. 获取

正常查询(在健康的计算机上)是:OPTIONS、HEAD、LOCK、GET... 因此,Word 不会尝试锁定文档,而是以只读方式打开它。

我们已经尝试过了:

  1. 已检查 WebDAV 链接,它属于e(您可以在 OPTIONS 查询中看到)
  2. 已检查,OPTIONS 响应包含标头 MS-Author-Via: DAV
  3. 检查,该服务器没有崩溃。所有响应都正常。
  4. 设置注册表项 HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet\OpenDocumentsReadWriteWhileBrowsing 到 1 如 here 所说。
  5. 将注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel 设置为2,将HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Internet\BasicAuthLevel 设置为2,如here 所述。
  6. https://www.ajaxbrowser.com 打开文档 - 一切正常,文档以读写方式打开。
  7. 清除 IE 中的 cookie,登录 IE(为 MS Word 提供 cookie)
  8. 试图找出问题计算机和健康计算机之间的差异。在不同版本的 Office、不同版本的 Windows(7、8、10)、通过代理连接的所有计算机(也包括健康的计算机)上重现问题。
  9. 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


【解决方案1】:

您至少缺少 DAV 标头。将其包含在 OPTIONS 响应中:

DAV: 1,2

【讨论】:

  • 有趣。 Docs says,那个类 '2' 意味着允许 LOCK 方法。看起来很有希望,我会尝试......
  • @Pavel 不阅读 Microsoft 文档。阅读standard
  • 我同意 Microsoft 文档在很大程度上没有帮助或根本没有用处。但由于 MS 经常添加额外的怪癖(我错过了 MS-Author-Via 标题),而且它是为了让 Word 一起玩,我们不会真正绕过。
【解决方案2】:

问题在于 MS Office 和代理服务器的交互。当我们启动 fiddler(而不是 WireShark)创建本地代理来捕获流量时,WebDAV 开始正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多