MarkLogic服务器端Javascript从Java调用

MarkLogic服务器端Javascript从Java调用,marklogic,Marklogic,我不熟悉MarkLogic。可以从java调用服务器端javascript模块吗。 下面是代码 ServerEvaluationCall invoker = client .newServerEval() .modulePath("/test/Test.sjs"); invoker.eval(); EvalResultIterator result = invoker.eval

我不熟悉MarkLogic。可以从java调用服务器端javascript模块吗。 下面是代码

        ServerEvaluationCall invoker = client
                .newServerEval()
                .modulePath("/test/Test.sjs");
          invoker.eval();
          EvalResultIterator result = invoker.eval();

我尝试过,但它给了我类似“com.marklogic.client.FailedRequestException:Local message:failed to application at invoke:Internal Server error”这样的错误。“

您是否尝试过调用QueryConsole中的SJS主模块以确保其执行?您是否通过Java或REST API安装了SJS主模块,使其可由具有所有调用权限的REST API用户执行(请参阅)?使用管理UI,您可以查看服务器日志。如果没有更多信息,您可以使用Admin UI中的Group(组)对话框将文件日志记录级别更改为debug(调试),这将提供有关未调用模块原因的更多详细信息。您好,感谢您的响应,我能够通过查询控制台从主模块执行并调用依赖模块。在服务器上手动放置依赖模块。我不知道如何使用Java将这些依赖模块注入/安装到marklogic server,以及如何在主模块中引用它们。如果您能分享有关此实现的任何详细信息,将不胜感激。提前感谢。当您说“手动将依赖模块放在服务器上”时,听起来好像您没有使用Java或RESTAPI来安装模块。如上所述,这很重要,因为它为模块分配了正确的执行权限。通过扩展ResourceManager,可以访问该模块。如参考文献()中所述。如果我理解正确,您已经从模块调用方法切换到资源服务扩展方法,这为您解决了问题。如果您确实需要模块调用方法,指导原则如下: