Le 07/10/2016 à 10:53, Pape Khaly NIANG a écrit :

Hi all,

Pretty new to lsc, I’m trying to make a synchronization from a postgresql table names user_ to an ldap directory.

Seems like there is no connection to the database for I have this log given:

15:42:07,537 |-WARN in ch.qos.logback.classic.LoggerContext[default] - Resource [logback.xml] occurs at [jar:file:/usr/lib/lsc/lsc-core-2.1.3.jar!/logback.xml]

15:42:07,719 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set

15:42:07,828 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]

15:42:07,838 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE]

15:42:07,902 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [encoder] on top of the object stack.

15:42:07,930 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [layout] on top of the object stack.

15:42:08,011 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]

15:42:08,016 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [LSC]

15:42:08,027 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [layout] on top of the object stack.

15:42:08,027 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LSC] - This appender no longer admits a layout as a sub-component, set an encoder instead.

15:42:08,027 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LSC] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.

15:42:08,027 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LSC] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details

15:42:08,029 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [filter] on top of the object stack.

15:42:08,038 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [rollingPolicy] on top of the object stack.

15:42:08,050 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@f35bd <mailto:ch.qos.logback.core.rolling.FixedWindowRollingPolicy@f35bd> - Will use gz compression

15:42:08,054 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [triggeringPolicy] on top of the object stack.

15:42:08,059 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[LSC] - Active log file name: /var/log/lsc/lsc.log

15:42:08,059 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[LSC] - File property is set to [/var/log/lsc/lsc.log]

15:42:08,061 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]

15:42:08,061 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [LSC_STATUS]

15:42:08,063 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [layout] on top of the object stack.

15:42:08,065 |-WARN in ch.qos.logback.core.FileAppender[LSC_STATUS] - This appender no longer admits a layout as a sub-component, set an encoder instead.

15:42:08,065 |-WARN in ch.qos.logback.core.FileAppender[LSC_STATUS] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.

15:42:08,065 |-WARN in ch.qos.logback.core.FileAppender[LSC_STATUS] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details

15:42:08,065 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [filter] on top of the object stack.

15:42:08,066 |-INFO in ch.qos.logback.core.FileAppender[LSC_STATUS] - File property is set to [/var/log/lsc/lsc.status]

15:42:08,067 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]

15:42:08,067 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [LDIF]

15:42:08,068 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [layout] on top of the object stack.

15:42:08,069 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LDIF] - This appender no longer admits a layout as a sub-component, set an encoder instead.

15:42:08,069 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LDIF] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.

15:42:08,069 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[LDIF] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details

15:42:08,070 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [filter] on top of the object stack.

15:42:08,070 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [rollingPolicy] on top of the object stack.

15:42:08,070 |-INFO in ch.qos.logback.core.rolling.FixedWindowRollingPolicy@911387 <mailto:ch.qos.logback.core.rolling.FixedWindowRollingPolicy@911387> - Will use gz compression

15:42:08,071 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [triggeringPolicy] on top of the object stack.

15:42:08,071 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[LDIF] - Active log file name: /var/log/lsc/lsc.ldif

15:42:08,071 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[LDIF] - File property is set to [/var/log/lsc/lsc.ldif]

15:42:08,071 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.lsc] to INFO

15:42:08,071 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.lsc] to true

15:42:08,071 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [LSC] to Logger[org.lsc]

15:42:08,075 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [LSC_STATUS] to Logger[org.lsc]

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [lsc] to INFO

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [lsc] to true

15:42:08,076 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [LDIF] to Logger[lsc]

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [communicationLogger] to WARN

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [communicationLogger] to true

15:42:08,076 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[communicationLogger]

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache] to WARN

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache] to true

15:42:08,076 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[org.apache]

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [poolLogger] to WARN

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [poolLogger] to true

15:42:08,076 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[poolLogger]

15:42:08,076 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO

15:42:08,076 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT]

oct. 06 15:42:08 - INFO - Reflections took 138 ms to scan 1 urls, producing 55 keys and 115 values

oct. 06 15:42:09 - INFO - Logging configuration successfully loaded from /etc/lsc/logback.xml

oct. 06 15:42:09 - INFO - LSC configuration successfully loaded from /etc/lsc/

oct. 06 15:42:09 - INFO - Connecting to LDAP server ldap://127.0.0.1:389/dc=cfe,dc=fr as cn=Manager,dc=cfe,dc=fr

oct. 06 15:42:09 - WARN - No clean request has been specified for task=People. During the clean phase, LSC wouldn't be able to get the right entries and may delete all destination entries !

oct. 06 15:42:09 - INFO - Starting sync for People

oct. 06 15:42:09 - ERROR - Error getting list of IDs in the source for task People

oct. 06 15:42:09 - INFO - Starting clean for People

oct. 06 15:42:10 - ERROR - com.ibatis.sqlmap.client.SqlMapException: There is no statement named null in this SqlMa

My files are like this:

-Lsc.xml:

<lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd"; revision="0">

  <connections>

<ldapConnection>

<name>ldap-src-conn</name>

<url>ldap://127.0.0.1:389/dc=cfe,dc=fr</url>

<username>cn=Manager,dc=cfe,dc=fr</username>

<password>fructueux</password>

<authentication>SIMPLE</authentication>

<referral>IGNORE</referral>

<derefAliases>NEVER</derefAliases>

<version>VERSION_3</version>

      <pageSize>-1</pageSize>

<factory>com.sun.jndi.ldap.LdapCtxFactory</factory>

<tlsActivated>false</tlsActivated>

</ldapConnection>

<databaseConnection>

<name>jdbc-dst-conn</name>

<url>jdbc:postgresql://127.0.0.1:5432/lportal</url>

<username>root</username>

<password></password>

<driver>org.postgresql.Driver</driver>

</databaseConnection>

  </connections> <tasks>

    <task>

<name>People</name>

<bean>org.lsc.beans.SimpleBean</bean>

<databaseSourceService>

<name>postgresql-src-service</name>

        <connection reference="jdbc-dst-conn" />

<requestNameForObject>getInetOrgPerson</requestNameForObject>

</databaseSourceService>

<ldapDestinationService>

<name>openldap-source-service</name>

        <connection reference="ldap-src-conn" />

<baseDn>ou=people,dc=cfe,dc=fr</baseDn>

<pivotAttributes>

<string>uid</string>

</pivotAttributes>

<fetchedAttributes>

<string>description</string>

<string>cn</string>

<string>sn</string>

<string>objectClass</string>

<string>uid</string>

<string>mail</string> <string>givenName</string>

</fetchedAttributes>

<getAllFilter>(&amp;(objectClass=inetorgperson)(mail=*))</getAllFilter>

<getOneFilter>(&amp;(objectClass=inetorgperson)(mail={mail}))</getOneFilter>

</ldapDestinationService>

<propertiesBasedSyncOptions>

<mainIdentifier>"LOGIN="+srcBean.getDatasetFirstValueById("uid") + ",ou=people,dc=cfe,dc=fr"</mainIdentifier>

<defaultDelimiter>;</defaultDelimiter>

<defaultPolicy>FORCE</defaultPolicy>

<conditions>

<changeId>false</changeId>

</conditions>

</propertiesBasedSyncOptions>

    </task>

  </tasks>

</lsc>

And my file InetOrgPerson.xml is like this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd";>

<sqlMap namespace="InetOrgPerson">

<select id="getInetOrgPerson" resultClass="java.util.HashMap" parameterClass="java.util.Map">

                Select

screenname as uid,

firstname as cn,

                     lastname as givenName,

emailaddress as mail

                FROM user_ pers

        </select>

</sqlMap>

Help would really be appreciated.

Thanks in advance.



Hi,

to work with databaseSourceService, you need at least to define requestNameForList and requestNameForObject. Define requestNameForClean if you plan to delete entries in destination (clean phase).

See http://lsc-project.org/wiki/documentation/latest/configuration/service/sourcesql

--
Clément OUDOT
Consultant en logiciels libres, Expert infrastructure et sécurité
Savoir-faire Linux
137 boulevard de Magenta - 75008 PARIS
Blog: http://sflx.ca/coudot

_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to