在演示一些访问本地 MarkLogic 服务器的新 Java 代码的过程中,我遇到了以下错误。每当我尝试加载文件或访问其元数据时,它都会弹出:
MarkLogic 服务器仅支持 XML 和 JSON 错误消息。
这是在调用 TextDocumentManager.readMetadata()
和 TextDocumentManager.read()
时触发的。该代码在我的机器上运行良好,但在我的主管的机器上运行不正常(他是看到错误的人),这让我认为我在开发过程中调整了数据库配置中的某些内容,但没有写下来。不幸的是,我想不出那会是什么。有人有什么建议吗?
最佳答案
该消息表明服务器响应错误,但没有 Content-Type header 将错误内容声明为 JSON 或 XML。
到目前为止,我们仅在服务器未初始化为 REST 服务器时才看到 Java 异常。
所以,请检查您的连接参数。如果有疑问,请使用像curl这样的HTTP客户端发出REST服务器的等效请求以验证请求是否被接受。
如果 REST 服务器似乎可以运行,您还可以在 REST 服务器上打开错误日志记录以帮助调试 Java 客户端。
<小时/>回答后续问题(StackOverFlow 在最初回答时超时):
InfoStudio 数据库配置中有一个用于创建 REST 服务器的 UI。
- 转至/appservices/路径的端口 8000。
- 从下拉列表中选择数据库,然后点击“配置”
- 在页面底部附近添加 REST API 实例
还有一个 REST 接口(interface)供管理员用户(不是 REST 管理员用户)在端口 8002 上创建 REST 实例。有关这些服务的信息,请参阅
关于java - 无法从 MarkLogic Java API 访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962461/