marklogic - 如何从 Java api Marklogic 10 [marklogic] 调用 sjs 或 xqy 文件
问题描述
有没有办法从我的 java 应用程序中调用 xqy 或 sjs,就像我可以在 oracle DB 中调用存储过程一样?
我对 xqy 或 sjs 的另一个问题是如何调试它们?
提前致谢。
解决方案
是的,有多种方法可以从 Java 调用 MarkLogic 中的 JavaScript 和 XQuery 模块。
取决于 MarkLogic 应用程序服务器的类型,它是 HTTP 还是 XDBC,是否安装了模块,或者您是否正在发送要评估的代码,以及您是更喜欢使用 MarkLogic Java API 还是进行自己的 HTTP 调用。
您可以使用MarkLogic Java 客户端 API来调用资源服务扩展或使用ServerEvaluationCall评估您自己的 JavaScript 或 XQuery :
String javascript = "'hello world'";
String response = client.newServerEval()
.javascript(javascript)
.evalAs(String.class);
assertEquals("hello world", response);
DataServices可用于公开功能并构建 Java 客户端存根来调用它们。
使用 XCC,您可以使用ModuleInvoke()或ModuleSpawn调用已安装的模块,或使用AdhocQuery评估 JavaScript 或 XQuery
您还可以自己调用 REST /v1/eval或/v1/invoke端点。
至于调试,您可以使用Visual Studio 代码连接到启用调试的应用服务器设置断点并逐步执行 JavaScript 和 XQuery 模块。
推荐阅读
- testing - 在对象存储库中维护测试对象与在脚本中动态创建测试对象 - Katalon Studio
- php - 选择 BACS 帐户以显示在 WooCommerce 的感谢页面中
- vba - 如何通过 Outlook VBA 关闭或关闭 Outlook 提醒
- php - WordPress:如何在选择菜单中订购子页面?
- c# - 检测是否安装了 Office 365
- npm - 使用身份验证密钥安装私有 npm 包
- c - 如何在 Rust 中获取给定 CPU 寄存器的偏移量
- javascript - 如何散列一个强大的文件对象?
- javascript - 与查询字符串共享链接
- windows - 如何在启动 powershell.exe 之前设置首选项`$ErrorView = "CategoryView"`