MarkLogic 查询控制台使用 GET 保存文件

问题描述

我目前正在调查使用 MarkLogic Query Console 时遇到的一个奇怪问题。当我编辑文件并单击保存按钮时,浏览器会显示消息

查询控制台与服务器的连接丢失。 正在尝试重新建立连接。

在服务器日志中我发现了这个错误

套接字对等名称错误:getpeername :8000:传输端点未连接

但这只会在我要保存的文件超过一定大小(大约 3.5 kB)时发生。 我怀疑我使用的(网络)基础设施中的某些东西可能导致了这个问题,所以我开始查看浏览器发送的请求。

当我看到它使用 GET 请求发送文件内容时,我感到非常惊讶,我原以为是 POST。实际上,当文件变大时,URL(以及发送的内容)在某些时候会被截断,这可能导致我的问题。

我的问题是:为什么它使用 GET 请求?是否可以以某种方式将其更改为 POST?我认为这会解决我的问题。

顺便说一句,我目前使用的是 MarkLogic 9.0-7.2,不确定这是否相关。

解决方法

出于安全原因和避免 URL 的最大长度,保存操作应通过 POST 完成。

此问题已得到解决,并将在较新版本的 MarkLogic 中执行 POST。

我刚刚验证了在 10.0-5.2 中通过查询控制台编辑保存文档时,文档内容通过 POST 发送并成功保存了 8MB 文件。

您应该升级到最新版本的 MarkLogic。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...