问题标签 [fsshttp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2052 浏览

java - Office Web 应用程序 Word 编辑

这个想法是使用 Office Web Apps 构建一个专有的 Java 后端文档系统。

我们创建了 WOPI 客户端,它允许我们查看/编辑 PowerPoint 和 Excel 网络应用程序文档,但我们只能查看 Word 文档。

为了编辑 Word Web App 文档,您需要实现 MS-FSSHTTP。

似乎没有关于如何在代码中实际执行此操作的信息。有没有人做过这个或知道如何做?

0 投票
0 回答
1097 浏览

php - 如何调试 OWA/COBALT/MS-FSSHTTP?

我正在尝试为Office Web Apps实现MS-FSSHTTP。具体来说,我只需要让 Word 工作。

OWA 服务器正在发送一个ExecuteCellStorageRequest请求,该请求遵循 FSSHTTP 标准(看起来像被屠杀的 SOAP)。

请求正文是没有信封的标准 SOAP 请求。它看起来像这样(为清楚起见而格式化):

我将此请求包装在标准的 SOAP 信封中,

这样我就可以将它传递给内置的 PHP SoapServer类(以免它崩溃而没有错误消息)。

处理时它会为我调用一个RequestVersion方法(我认为这是正确的;我无法确定该二进制消息的正面或反面)并产生响应。[它只是获取标签名称并以相同的名称调用函数。我认为这根本不是它所要求的。]

响应也应该是无信封的,所以我把它去掉,

并寄回。看起来像这样:

(我认为这是它正在寻找的响应,通过查看这个模式)。

请求标头还说它Expect是 sa 100-continue,因此我将 HTTP 100 状态代码连同我的响应一起发回。

我只能假设 OWA 服务器不喜欢我的响应,因为它会立即关闭我的连接,

2014/01/23 14:08:31 [info] 81976#0: *229 kevent() 报告客户端 192.168.0.10 关闭了 keepalive 连接

现在我很难过。

OWA 服务器没有给我任何类型的错误消息,所以我不知道可能出了什么问题或如何获取更多信息。我可以远程访问 OWA 机器,但在日志中看不到任何有用的信息。

有没有人有任何实现 MS-FSSHTTP 的经验(我的谷歌搜索表明一个响亮的“不”)或者知道如何进一步调试这个?我相信 OWA 只是一个在 IIS 上运行的 ASP.NET 应用程序,但 AFAICT 所有的源代码都是预编译的二进制文件。

0 投票
2 回答
3032 浏览

c# - 如何实现 MS-FSSHTTP 在 C# 和 WOPI 客户端上使用 WOPI 主机编辑 Word 是 OWA

我正在使用 MS-WOPI 客户端作为 Office Web Apps 来实现 MS-WOPI 主机。我想提供 Word 编辑功能,需要实现 MS-FSSHTTP 协议。

我阅读了文档http://msdn.microsoft.com/en-us/library/dd943623(v=office.12).aspx

我也尝试对一些例子进行罚款,但没有成功。

有人可以提供一个简单的 MS-FSSHTTP 实现示例吗?

0 投票
3 回答
2996 浏览

c# - 钴芯组件

我尝试在 C# 中实现一个自定义 Wopi 主机,它可以使用 CobaltCore 程序集处理 Cobalt 协议。

但是我没有发现 CobaltCore.dll 对象浏览器的任何文档有点帮助..

如果有人遇到类似问题,请提供一些详细信息。我应该如何使用 Cobalt 来破译消息?

0 投票
0 回答
1109 浏览

c# - 文件被锁定编辑后应该在WOPI服务器端解锁文件时

基于 WOPI 协议以及通过 Internet 发布的帖子,包括CobaltCore 程序集后的 stackoverflow ,我们能够在 Office Web App 服务器上对 ppt/excel/word 进行编辑。我们试图更多地了解的一件事是关于锁定/解锁。我对 excel 文件进行了一些测试以了解锁定和解锁。如果我们能在 excel 中理解这一点,我们将转向 word 文件。以下是我的发现:

  1. 当我开始在浏览器中编辑 excel 文件时,OWA 服务器会将 Lock WOPI Http 请求(x-wopi-override 标头作为 LOCK)调用到 WOPI 服务器
  2. 2分钟后,OWA服务器将通过调用PutFile(x-wopi-override:PUT)将我编辑的内容自动保存到WOPI服务器
  3. 当我关闭浏览器选项卡时,会有从 OWA 服务器到 WOPI 服务器的 Unlock Http 请求调用( x-wopi-override: UNLOCK )

但是在上述第 2 步之后,如果我只是让浏览器闲置超过 1 小时,实际上 OWA 服务器会每 15 分钟调用一次 RefreshLock ( x-wopi-override: REFRESH_LOCK ) 来刷新同一个锁,尽管默认情况下锁应该过期每个 WOPI 协议文档 30 分钟后。这样,它将继续锁定文件,并且WOPI服务器没有机会释放锁定。

我只是想知道当用户在客户端空闲的情况下,我们什么时候可以释放 WOPI 服务器端的锁。我们无法将文件锁定几个小时(我还不知道这里的限制,尽管在很长一段时间后在 OWA 查看 SharePoint 文件时我们可能会收到会话过期等消息),这将阻止其他用户编辑文件. 我们将 SupportsCoauth 设为假。

只是想知道是否有人可以在这里阐明锁定和解锁行为以及我们如何防止 OWA 继续锁定文件。

注意:我找不到更好的标签,并且 SO 没有 WOPI 标签,所以我添加了相同的标签作为发布CobaltCore 程序集

更新(9 月 16 日):如果在 OWA 服务器上进行编辑,它可能不会阻止其他用户编辑文件,因为 OWA 服务器可能会释放第一个用户的锁定和第二个用户的锁定。我们还没有确认。但是,如果另一个用户需要将相同的文档从桌面上传到我们的服务器,并且它需要锁定来覆盖文件,则不确定锁定将如何工作。

0 投票
1 回答
1452 浏览

asp.net-web-api - 如何使 Office Web App Server 能够使用 Cobalt 编辑文档

我正在尝试根据此示例使用 ASP.NET MVC 及其 WebAPI 函数构建我自己的 WOPI 主机

https://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6

我成功地使用该示例连接到我的 Office Web App Server,我可以使用它来访问本地路径中的 Excel 和 PowerPoint 文件,并且我可以编辑它,但我不能使用它在编辑模式下打开 Word 文档,因为后操作处理程序在没有任何响应的情况下没有完全实现,因此它无法处理任何编辑请求。

为了增加对 Office 文档编辑的支持,我尝试使用基于从 Office Web App Server 中提取的 Cobalt 库的 POST 请求处理程序的示例。

https://github.com/marx-yu/WopiHost

通过这个示例,我设法使用 Office Web App Server 编辑和保存各种文档。但是,当我尝试将这两者集成在一起时,我发现即使我可以进入 Excel 和 PowerPoint 的编辑窗口,我也可以看到来自 Office Web App Server 的 Post 请求(如锁定和 Cobalt)由我的 WOPI Post API 操作处理程序处理. 这些更改根本不会对我的本地文件产生任何影响。此外,我仍然无法编辑word文档,当我检查Office Web App Server的积压时,我发现错误消息是不支持Cobalt,而我已经将CheckFileInfo响应中的SupportsCobalt设置为true!非常感谢任何帮助!

0 投票
1 回答
1320 浏览

ms-word - 没有 MS-FSSHTTP/COBALT 的 WOPI 实现

我们正在尝试在不针对我们的 Office Web Apps 服务器使用 CobaltCore dll 的情况下实现 WOPI 主机。(用Java实现)。我发现的所有信息都表明您必须实施 MS-FSSHTTP 才能编辑 Word 文档。

但是,这是我在此页面上找到的:与 Office Online 集成

与 Office Online 集成相对简单。您只需要做一些 HTML 和 JavaScript 工作,并设置一些简单的 REST 端点。如果您熟悉现有的 Office 协议,请注意您不必实施 [MS-FSSHTTP]:通过 HTTP 协议上的 SOAP 进行文件同步 (Cobalt)

这里还有一个示例实现

但是当我点击我们的 Office Web Apps Server 时,我无法让它工作(标题 X-WOPI-Override 等于 Word 文档的 COBALT)。

  1. 该页面上的信息是否仅适用于您使用 Office Online 的情况?
  2. 是否必须更改 Office Web Apps Server 上的设置,以便其行为类似于 Excel 文件编辑?在 CheckFileInfo 上,我尝试设置 SupportsCoauth=false 和 SupportsCobalt=false
0 投票
1 回答
66 浏览

office365 - OneNote FSSHTTP

对于我们需要连接到 Office365 和 Sharepoint Online 的应用程序之一,我们正在实现 FSSHTTP 功能。这样就可以修改Word文档了。其影响是,一旦您开始支持 FSSHttp,那么所有其他应用程序也确实使用 FSSHTTP。

我们设法能够读取和修改 word 文件。我们现在还需要管理 OneNote 文件。

不幸的是,FSSHTTP 中 OneNote 文件的格式与 Word 中的非常不同。

Word 进入压缩的 XML 文件,而 OneNote 内容只是进入一个字节数组。

我们有这样的数组(长度= 97):02 00 00 80 0F 00 00 00 1C 00 00 00 0A 00 DD 34 00 88 77 34 00 0C FE 1C 00 10 3E 1C 00 14 84 1C 00 14 7A 1D 00 14 2 1C 00 1C 5B 1E 00 1C 2C 34 00 20 13 1E 00 24 00 0C 04 01 00 00 00 01 00 00 00 49 2E 2B 47 0C 00 00 00 53 00 61 00 6C 00 75 00 74 00 00 00 04 00 00 00 31 00 00 00 01 00 00 00

(长度=87):02 00 00 80 0F 00 00 00 1C 00 00 00 0A 00 DD 34 00 88 77 34 00 0C FE 1C 00 10 3E 1C 00 14 84 1C 00 14 7A 1D 00 14 22 E 1C 0B 0 00 1C 2C 34 00 20 13 1E 00 24 00 0C 04 01 00 00 00 01 00 00 00 49 2E 2B 47 02 00 00 00 00 00 04 00 00 00 31 00 00 00 01 00 0 0

我们知道内容是 Unicode 16。我们设法找到了一些内容,但我们无法真正弄清楚这些内容是什么以及它是如何格式化的。

有人已经用过这个了吗?你知道 OneNote 的内容是 FSSHTTP 还是 XML 片段(就像 OpenXML 文档一样)?

我们找不到任何解释或描述格式的文档。

如果有人可以分享一些指针或链接,将不胜感激。

提前谢谢了

吉尔斯

0 投票
2 回答
407 浏览

java - 在客户端 PC 上与 MS Office 通信

我正在寻找在我的 Web 应用程序中与 Office 产品进行通信的解决方案。我有很多客户想要同时编辑他们的文档。我已经寻找解决方案,我有两个选择:

  1. WOPI 协议需要一个 Office Web Apps 服务器,这对我来说不是一个可访问的选项,因为它需要一个昂贵且功能强大的服务器才能为这么多客户端提供服务。此外,我的 Web 应用程序是基于 Java 的,我的服务器在 Linux 上运行。

  2. WebDAV 协议。这个选项似乎更好,但我听说 Chrome 和 Firefox 不支持它,因为 WebDAV 需要 ActiveX,因此每个客户端都必须在他们的 PC 上安装一个包。

谁能帮我做出正确的决定?什么是 MS-FSSHTTP 协议?它满足我的需求吗?