有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java LdapInvalidDnException:意外标记:

我在进行ldap搜索时遇到了以下异常,我想知道这是api的问题还是我需要解决的问题

16:41:19,290 ERROR [com.synchronoss.readytogo.handler.ZipFileHandler] (Thread-2038 (HornetQ-    client-global-threads-24851093))     org.apache.directory.api.ldap.model.exception.LdapInvalidDnException: unexpected token: :: org.apache.directory.api.ldap.model.exception.LdapInvalidDnException: unexpected token: :
at org.apache.directory.api.ldap.model.name.ComplexDnParser.parseDn(ComplexDnParser.java:58) [api-ldap-client-all-1.0.0-M16.jar:1.0.0-M16]
at org.apache.directory.api.ldap.model.name.Dn.parseInternal(Dn.java:1374) [api-ldap-client-all-1.0.0-M16.jar:1.0.0-M16]
at org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:285) [api-ldap-client-all-1.0.0-M16.jar:1.0.0-M16]
at org.apache.directory.api.ldap.model.name.Dn.<init>(Dn.java:211) [api-ldap-client-all-1.0.0-M16.jar:1.0.0-M16]
at org.apache.directory.ldap.client.api.LdapNetworkConnection.search(LdapNetworkConnection.java:1506) [api-ldap-client-all-1.0.0-M16.jar:1.0.0-M16]

我的DN值是"cn=device:abc:abc xyz x+:abc/cing/evitareul:4.2.2/jdq39/257669.4:user/release-keys,ou=Permissions,dc=r2g,dc=dcs,dc=zzz,dc=com"包含一个加号,我相信这是导致问题的原因\,任何关于解决方案的帮助建议都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    两件事:1)加号+表示DN是多值的。2) 属性名称中不允许使用:

    简而言之,DN的一部分是:

    cn=device:abc:abc xyz x
    

    另一部分是:

    :abc/cing/evitareul:4.2.2/jdq39/257669.4:user/release-keys,ou=Permissions,dc=r2g,dc=dcs,dc=zzz,dc=com
    

    RDN(cn)多值的第二部分不正确。由于第二部分也是RDN(多值DN),因此该部分应以属性类型/名称开头:

    cn=:abc/cing ...
    

    另见