Marklogic 创建新角色时管理服务器错误XDMP-AS

Marklogic 创建新角色时管理服务器错误XDMP-AS,marklogic,Marklogic,我创建了一个名为LDAPGroup的角色,并分配了一个ldap组。单击“确定”按钮后,我出现了此错误 500: internal server error XDMP-AS: (err:XPTY0004) get-element($col, "sec:role", "sec:role-name", $role-name, "SEC-ROLEDNE") -- Invalid coercion: $role = sec:role-name("LDAPGroup") 现在我无法在管理界面中打开

我创建了一个名为LDAPGroup的角色,并分配了一个ldap组。单击“确定”按钮后,我出现了此错误

500: internal server error

XDMP-AS: (err:XPTY0004) get-element($col, "sec:role", "sec:role-name",
  $role-name, "SEC-ROLEDNE") 
-- Invalid coercion: $role = sec:role-name("LDAPGroup")

现在我无法在管理界面中打开我的角色页。有人能给我一个解决这个问题的方法吗?

根据第二条错误消息,看起来您不知何故创建了两个同名角色。名称应该是唯一的,因此存在问题。如果在首次创建角色时双击表单提交,则可能会发生这种情况。或者您可能发现了一个服务器错误


从您对它的评论来看,您似乎可以使用XQuery和
sec:remove role
功能删除额外的角色。但是,如果管理员用户界面仍然运行异常,或者您可以重现问题,则应向MarkLogic支持部门报告:

请注意您正在运行的是哪个版本的ML。另外,您是通过管理员UI还是通过XQY、REST等创建角色?@wst:我使用的是7.0-1版本。我通过管理UI而不是XQuery创建了一个角色。我可以使用Sec函数查看角色,删除Qconsole中的角色。这是错误。500:内部服务器错误XDMP-AS:(err:XPTY0004)获取元素($col,“sec:role”,“sec:role name”,“$role name”,“sec-ROLEDNE”)--无效强制:(fn:doc(“,fn:doc(”)AS element()?在/MarkLogic/security.xqy中,在get元素(“,”sec:role“,”sec:role name“,sec:role name(“LDAPGroup”),“sec-ROLEDNE”)$col=”“$sec:role”)的第3591行,$col=”“$elem=“sec:role”谢谢你的回复。我通过检查用户来检查角色。有两个角色同名“LDAPGoup”。我想我在保存时双击了。我使用sec:remove-role()来删除其他角色。如果我使用sec:remove-role()删除“LDAPGroup”,我得到一个错误。有没有办法删除重复的角色?第二个错误为您提供了两个URI:
“marklogic.com/xdmp/roles/4708676013995502179”,“marklogic.com/xdmp/roles/4720526555240172153”
。打开qconsole,选择安全数据库,然后
xdmp:document delete
一个或两个URI。如果您愿意,还可以使用
doc
和URI检查其中一个或两个URI。请注意,直接更新安全数据库有点危险,不太受支持,但我会这样做。我删除了这两个URIles使用xdmp:删除文档并重新启动服务器。现在我可以看到所有角色。谢谢。我对LDAP身份验证有一些疑问。您是否通过LDAP进行过任何外部身份验证?