LDAPIMPORT Fehler - LDAPTEST OK

Moin,
ich habe eine frische Installation des RS4.6.1-6092 (2023-05-26-13-10-32) auf Basis Windows Server 2016 umgesetzt.
In der ldap.cf habe ich alle Daten ordnungsgemäß eingetragen (mit Version 3 + groovyscript klappt es).
Wenn ich über Terminal:

“ldaptest users”

ausführe, bekomme ich alle User zu sehen.

Alle Felder der Tabelle sind gefüllt:
“First name (givenName) Last name (sn) Username (sAMAccountName) Email (mail) Parent”

Wenn ich nun

“ldapimport” / “ldapimport -c”

ausführe, bekomme ich folgende Fehlermeldung:

05-Jun-2023 13:04:40.968 INFORMATION [ajp-nio-127.0.0.1-8009-exec-8] net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke Intercepted NonFatalException
net.datenwerke.gxtdto.client.servercommunication.exceptions.ServerCallFailedException: MissingPropertyException: No such property: sr for class: net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl
Possible solutions: DN, host, port
at net.datenwerke.rs.terminal.server.terminal.TerminalRpcServiceImpl.doExecute(TerminalRpcServiceImpl.java:158)
at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at net.datenwerke.rs.terminal.server.terminal.TerminalRpcServiceImpl.execute(TerminalRpcServiceImpl.java:125)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at jdk.internal.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:422)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: net.datenwerke.rs.terminal.service.terminal.exceptions.TerminalException: MissingPropertyException: No such property: sr for class: net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl
Possible solutions: DN, host, port
at net.datenwerke.rs.ldap.service.ldap.terminal.commands.LdapimportCommand.execute(LdapimportCommand.java:69)
at net.datenwerke.rsenterprise.license.service.EnterpriseCheckInterceptor.invoke(EnterpriseCheckInterceptor.java:40)
at net.datenwerke.rs.terminal.service.terminal.helpmessenger.HelpMessageInterceptor.invoke(HelpMessageInterceptor.java:53)
at net.datenwerke.rs.terminal.service.terminal.ExecuteCommandConfigImpl.execute(ExecuteCommandConfigImpl.java:28)
at net.datenwerke.rs.terminal.service.terminal.TerminalSession.execute(TerminalSession.java:144)
at net.datenwerke.rs.terminal.service.terminal.TerminalSession.execute(TerminalSession.java:107)
at net.datenwerke.rs.terminal.server.terminal.TerminalRpcServiceImpl.doExecute(TerminalRpcServiceImpl.java:140)
… 49 more
Caused by: net.datenwerke.rs.ldap.service.ldap.exceptions.LdapException: groovy.lang.MissingPropertyException: No such property: sr for class: net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl
Possible solutions: DN, host, port
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.importUsers(LdapServiceImpl.groovy:246)
at net.datenwerke.rs.ldap.service.ldap.terminal.commands.LdapimportCommand.execute(LdapimportCommand.java:58)
… 55 more
Caused by: groovy.lang.MissingPropertyException: No such property: sr for class: net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl
Possible solutions: DN, host, port
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:67)
at org.codehaus.groovy.vmplugin.v8.IndyGuardsFiltersAndSignatures.unwrap(IndyGuardsFiltersAndSignatures.java:161)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.getGuid(LdapServiceImpl.groovy:422)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.createUserNode(LdapServiceImpl.groovy:451)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:342)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:645)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:628)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:391)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:328)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl$_importUsers_closure1$_closure60.doCall(LdapServiceImpl.groovy:188)
at jdk.internal.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at groovy.lang.Closure.call(Closure.java:418)
at groovy.lang.Closure.call(Closure.java:434)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2387)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2372)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2401)
at org.codehaus.groovy.runtime.dgm$202.doMethodInvoke(Unknown Source)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl$_importUsers_closure1.doCall(LdapServiceImpl.groovy:162)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl$_createSearchResultFetcher_closure2.doCall(LdapServiceImpl.groovy:261)
at jdk.internal.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl$_connect_closure7.doCall(LdapServiceImpl.groovy:332)
at jdk.internal.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:279)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1006)
at groovy.lang.Closure.call(Closure.java:418)
at groovy.lang.Closure.call(Closure.java:434)
at org.codehaus.groovy.runtime.IOGroovyMethods.withCloseable(IOGroovyMethods.java:1616)
at org.apache.groovy.nio.extensions.NioExtensions.withCloseable(NioExtensions.java:1971)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.connect(LdapServiceImpl.groovy:330)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.importUsers(LdapServiceImpl.groovy:241)
… 56 more

Ich finde leider keine Lösung, gibt es hier vielleicht einen Hinweis?

Mfg
Christian

Hallo Christian,

kannst du bitte deine ldap.cf hier posten (ohne natürlich HOST/Passwörter)?

Grüße
Eduardo

<?xml version="1.0" encoding="UTF-8"?> false 389 none CN=ADReaderRS,OU=Benutzer,OU=Sicherheitsobjekte,DC=meineFirma,DC=com PASSWORD OU=Banking,OU=synfis,DC=meineFirma,DC=com /usermanager/external true false false objectClass entryUUID organizationalUnit name group name member user givenName sn sAMAccountName mail

Hallo Christian,

ich sehe 2 Sachen:

  1. dein “ldaptest guid” wird wahrscheinlich schief gehen, da der Fehler von dieser Stelle kommt:
    … at net.datenwerke.rs.ldap.service.ldap.LdapServiceImpl.getGuid(LdapServiceImpl.groovy:422)
    kannst du das bitte testen?
  2. es scheint einen kleinen Bug zu geben, da “sr” nicht gesetzt ist und “sr” nicht in deinem ldap.cf auftaucht:
    … No such property: sr
    das reparieren wir bei der nächsten 6.4.1 patch Version. Trotzdem kannst du den Fehler mit der GUID korrigieren und dann sollte es funktionieren.

Beachte: erst wenn alle Kommandos funktionieren wie sie sollen, wie hier beschrieben, kann “ldapimport” auch funktionieren:
https://reportserver.net/en/guides/admin/chapters/terminal-command-ldaptest/

Grüße
Eduardo

Hi Christian,

zur Info: wir haben Ticket RS-7491 zum “sr” Bug erstellt.

Wie geschrieben, “ldapimport” sollte bei dir unabhängig davon funktionieren, wenn alle anderen “ldaptest” Kommandos funktionieren, insbesondere “ldaptest guid”.

Grüße
Eduardo

Hallo Christian,

beachte bitte auch, dass das “ldapguid”-Kommando ein best-effort-guess macht, um deine GUID herauszufinden, falls diese nicht korrekt eingetragen wurde und du die richtige GUID nicht kennst:

https://reportserver.net/en/guides/admin/chapters/terminal-command-ldapguid/

Grüße
Eduardo

Hallo eduardo,

vielen Dank für die Hilfe. Natürlich war es eine falsche GUID :slight_smile: Habe den Wert angepasst und nun klappt alles.
Immerhin wurde dadurch noch ein kleiner Bug gefunden.
Problem gelöst.

Grüße
Christian

Hi Christian,

ich freue mich, dass es jetzt klappt! Wir haben die LDAP Funktionalitäten insbesondere in der 4.5.0 Version sehr erweitert wie du in den Release Notes sehen kannst: https://reportserver.net/releasenotes/RS4.5.0.html

Grüße
Eduardo

Hi Christian,

zur Info: RS-7491 is gefixed und wird mit der nächsten Version behoben.

Grüße
Eduardo

Hi Christian,

zur Info: wir haben soeben 4.6.1-6094 released, wo dieses Problem behoben ist: RS-7491.
Die Release Notes sind hier zu finden: https://reportserver.net/releasenotes/RS4.6.1.html

Infos hier: https://forum.reportserver.net/viewtopic.php?pid=10558#p10558

Grüße
Eduardo

Hallo,
Laut Dokumentation ist dieser Fehler in Version 4.6 behoben.
Ich kann meine Umgebung nicht kurzfristig aktualisieren. Gibt es eine Problemumgehung für diesen Fehler in Version 4.5?
Danke,

Hallo marcioribeiro1979,

das wurde auch im 4.5.0-LTS korrigiert: https://reportserver.net/releasenotes/RS4.5.0.html#tickets-6093

RS-7491 Bug LDAP getGuid() method is using non-existing “sr” property

Viele Grüße
Eduardo

Hi,

Wie kann ich die Version RS4.5.0-6093 herunterladen?

Viele Grüße

Hallo marcioribeiro1979,

die jeweils aktuellen CE-Versionen sind auf unserer SourceForge-Seite zu finden (4.5.0-6095): https://sourceforge.net/projects/dw-rs/files/bin/4/

Viele Grüße
Malte

Hallo marcioribeiro1979,

und die aktuellste EE Version ist in unserem Support Portal verlinkt: Solutions → ReportServer Downloads.

Viele Grüße
Eduardo