通过Java代码对MarkLogic执行sec:get-role-names()时发生异常,以及如何使用MarkLogic XQJ API获取文档URI

通过Java代码对MarkLogic执行sec:get-role-names()时发生异常,以及如何使用MarkLogic XQJ API获取文档URI,marklogic,Marklogic,MarkLogic 5.x安装在我的机器上,因此我只能使用XQuery API 我正在尝试使用sec:get-role-names()获取某些ID的角色名称,因此我在线程“main”com.marklogic.xcc.exceptions.XQueryException:XDMP-UNDFUN:(err:XPST0017)未定义函数sec:get-role-names() 我知道需要定义sec名称空间,但我不知道如何才能做到这一点。所以,有人能在这方面指导我吗 代码: Request reque

MarkLogic 5.x安装在我的机器上,因此我只能使用XQuery API

我正在尝试使用sec:get-role-names()获取某些ID的角色名称,因此我在线程“main”com.marklogic.xcc.exceptions.XQueryException:XDMP-UNDFUN:(err:XPST0017)未定义函数sec:get-role-names()

我知道需要定义sec名称空间,但我不知道如何才能做到这一点。所以,有人能在这方面指导我吗

代码:

Request request1=session.newAdhocQuery(“sec:get角色名(\“3855349555012759983\”)

使用用于MarkLogic的XQJ API获取文档URI的函数

我正在XQprepareExpression中使用cts:search函数。 我能够使用cts:search获取修改过的文档的内容,但是没有得到任何可以为修改过的文档提供文档URI的函数。如果有人知道这一点,请告诉我


谢谢

秒:获取角色名称不是内置函数:它位于security.xqy模块中

因此,您需要将模块导入添加到查询中:

import module namespace sec="http://marklogic.com/xdmp/security" at "/MarkLogic/security.xqy";

谢谢你的回复,玛丽。我知道需要添加这一导入模块行,但我需要在Java代码中添加这一行。我有点困惑,请你详细解释一下好吗。