Thanks again for your help Mr. OUDOT, now it works perfectly. But after the installation how can i check that LSC is working without problem? and what security options do i have ?
Sincerely, *HAJJI Kawtar* 2015-09-18 6:22 GMT+01:00 Kaoutar Hajji < [email protected]>: > Thank you Mr OUDOT , i removed spaces in CDATA markups but know i have > another type of error when i run the command: /usr/bin/lsc -f /etc/lsc -s > all > > sept. 18 06:07:34 - ERROR - Error while looking for > (&(objectClass=inetOrgPerson)(uid =fbouhadou)) in > ou=utilisateurs,ou=pmb,l=maarif,dc=iga,dc=ma: > javax.naming.directory.InvalidSearchFilterException: invalid attribute > description; remaining name 'ou=utilisateurs,ou=pmb,l=maarif' > sept. 18 06:07:34 - ERROR - Error while synchronizing ID {uid=fbouhadou}: > org.lsc.exception.LscServiceException: > javax.naming.directory.InvalidSearchFilterException: invalid attribute > description; remaining name 'ou=utilisateurs,ou=pmb,l=maarif' > > > > *lsc.xml file:* > <?xml version="1.0" ?> > > <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="0"> > > <connections> > <databaseConnection> > <name>sqldb</name> > <url>jdbc:mysql://127.0.0.1:3306/igadb</url> > <username>root</username> > <password>kawtar</password> > <driver>com.mysql.jdbc.Driver</driver> > </databaseConnection> > > <ldapConnection> > <name>openldap</name> > <url>ldap://server.iga.ma:389/dc=iga,dc=ma</url> > <username>cn=admin,dc=iga,dc=ma</username> > <password>kawtar</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> > </connections> > > <tasks> > <task> > <name>utilisateursSyncTask</name> > <bean>org.lsc.beans.SimpleBean</bean> > <databaseSourceService> > <name>sqldb-source-service</name> > <connection reference="sqldb" /> > <requestNameForList>getInetOrgPersonList</requestNameForList> > <requestNameForObject>getInetOrgPerson</requestNameForObject> > <requestNameForClean>getInetOrgPersonClean</requestNameForClean> > </databaseSourceService> > > <ldapDestinationService> > <name>ldap-dst-service</name> > <connection reference="openldap" /> > <baseDn>ou=utilisateurs,ou=pmb,l=maarif,dc=iga,dc=ma</baseDn> > <pivotAttributes> > <string>uid</string> > </pivotAttributes> > <fetchedAttributes> > <string>employeeNumber</string> > <string>sn</string> > <string>givenName</string> > <string>postalAddress</string> > <string>l</string> > <string>mail</string> > <string>uid</string> > <string>objectClass</string> > <string>userPassword</string> > <string>description</string> > </fetchedAttributes> > > <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter> > <getOneFilter><![CDATA[(&(objectClass=inetOrgPerson)(uid > ={uid}))]]></getOneFilter> > </ldapDestinationService> > <propertiesBasedSyncOptions> > <mainIdentifier>"uid=" + srcBean.getDatasetValueById("uid") + > ",ou=utilisateurs,ou=pmb,l=maarif,dc=iga,dc=ma"</mainIdentifier> > <defaultDelimiter>;</defaultDelimiter> > <defaultPolicy>FORCE</defaultPolicy> > <conditions> > <create>true</create> > <update>true</update> > <delete>true</delete> > <changeId>true</changeId> > </conditions> > <dataset> > <name>objectClass</name> > <policy>KEEP</policy> > <defaultValues></defaultValues> > <forceValues></forceValues> > <createValues> > <string>"inetOrgPerson"</string> > <string>"organizationalPerson"</string> > <string>"person"</string> > <string>"top"</string> > </createValues> > <delimiter>,</delimiter> > </dataset> > <dataset> > <name>cn</name> > <policy>FORCE</policy> > <defaultValues></defaultValues> > <forceValues> > <string>srcBean.getDatasetFirstValueById("givenName") + " " + > srcBean.getDatasetFirstValueById("sn")</string> > </forceValues> > <createValues></createValues> > <delimiter>,</delimiter> > </dataset> > <dataset> > <name>userPassword</name> > <policy>FORCE</policy> > <defaultValues></defaultValues> > <forceValues> > > <string>"{MD5}"+srcBean.getDatasetFirstValueById("userPassword")</string> > </forceValues> > <createValues></createValues> > </dataset> > </propertiesBasedSyncOptions> > </task> > </tasks> > <security> > <encryption> > <keyfile>etc/lsc.key</keyfile> > <algorithm>AES</algorithm> > <strength>128</strength> > </encryption> > </security> > </lsc> > > Sincerely, > *HAJJI Kawtar* > > 2015-09-16 16:58 GMT+01:00 Kaoutar Hajji < > [email protected]>: > >> Hi, >> >> When i run this command: sudo /usr/bin/lsc -f/etc/lsc/ -s all-c all >> i get this error: >> ERROR - Unable to load configuration >> (org.lsc.exception.LscConfigurationException: Configuration exception: null) >> org.lsc.exception.LscConfigurationException: Configuration exception: null >> at >> org.lsc.configuration.JaxbXmlConfigurationHelper.getConfiguration(JaxbXmlConfigurationHelper.java:162) >> ~[lsc-core-2.1.3.jar:na] >> at org.lsc.Configuration.setUp(Configuration.java:482) >> [lsc-core-2.1.3.jar:na] >> at org.lsc.Configuration.setUp(Configuration.java:456) >> [lsc-core-2.1.3.jar:na] >> at org.lsc.Launcher.run(Launcher.java:205) [lsc-core-2.1.3.jar:na] >> at org.lsc.Launcher.launch(Launcher.java:158) [lsc-core-2.1.3.jar:na] >> at org.lsc.Launcher.main(Launcher.java:141) [lsc-core-2.1.3.jar:na] >> Caused by: javax.xml.bind.UnmarshalException: null >> at >> javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335) >> ~[na:1.7.0_79] >> at >> com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:512) >> ~[na:1.7.0_79] >> at >> com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:209) >> ~[na:1.7.0_79] >> at >> com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:175) >> ~[na:1.7.0_79] >> at >> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) >> ~[na:1.7.0_79] >> at >> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:162) >> ~[na:1.7.0_79] >> at >> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:171) >> ~[na:1.7.0_79] >> at >> javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:189) >> ~[na:1.7.0_79] >> at >> org.lsc.configuration.JaxbXmlConfigurationHelper.getConfiguration(JaxbXmlConfigurationHelper.java:160) >> ~[lsc-core-2.1.3.jar:na] >> ... 5 common frames omitted >> Caused by: org.xml.sax.SAXParseException: Le contenu des éléments doit >> inclure un balisage ou des caractères au format correct. >> at >> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1437) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.startOfMarkup(XMLDocumentFragmentScannerImpl.java:2622) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2734) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) >> ~[na:1.7.0_79] >> at >> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648) >> ~[na:1.7.0_79] >> at >> com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:203) >> ~[na:1.7.0_79] >> ... 11 common frames omitted >> >> *Here are my files:* >> 1/lsc.xml >> <?xml version="1.0" ?> >> >> <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.1.xsd" revision="0"> >> >> <connections> >> <databaseConnection> >> <name>sqldb</name> >> <url>jdbc:mysql://127.0.0.1:3306/igadb</url> >> <username>root</username> >> <password>kawtar</password> >> <driver>com.mysql.jdbc.Driver</driver> >> </databaseConnection> >> >> <ldapConnection> >> <name>openldap</name> >> <url>ldap://server.iga.ma:389/dc=iga,dc=ma</url> >> <username>cn=admin,dc=iga,dc=ma</username> >> <password>kawtar</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> >> </connections> >> >> <tasks> >> <task> >> <name>utilisateursSyncTask</name> >> <bean>org.lsc.beans.SimpleBean</bean> >> <databaseSourceService> >> <name>sqldb-source-service</name> >> <connection reference="sqldb" /> >> <requestNameForList>getInetOrgPersonList</requestNameForList> >> <requestNameForObject>getInetOrgPerson</requestNameForObject> >> <requestNameForClean>getInetOrgPersonClean</requestNameForClean> >> </databaseSourceService> >> >> <ldapDestinationService> >> <name>ldap-dst-service</name> >> <connection reference="openldap" /> >> <baseDn>ou=utilisateurs,ou=pmb,l=maarif,dc=iga,dc=ma</baseDn> >> <pivotAttributes> >> <string>uid</string> >> </pivotAttributes> >> <fetchedAttributes> >> <string>employeeNumber</string> >> <string>sn</string> >> <string>givenName</string> >> <string>postalAddress</string> >> <string>l</string> >> <string>mail</string> >> <string>uid</string> >> <string>objectClass</string> >> <string>userPassword</string> >> <string>description</string> >> </fetchedAttributes> >> >> <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter> >> <getOneFilter><![ CDATA [(&( objectClass = inetOrgPerson )(uid ={ >> uid }))]]></getOneFilter> >> <cleanFilter ><![ CDATA [(&( objectClass=inetOrgPerson)(uid={ uid >> }))]]></cleanFilter > >> </ldapDestinationService> >> <propertiesBasedSyncOptions> >> <mainIdentifier>"uid=" + srcBean.getDatasetValueById("uid") + >> ",ou=utilisateurs,ou=pmb,l=maarif,dc=iga,dc=ma"</mainIdentifier> >> <defaultDelimiter>;</defaultDelimiter> >> <defaultPolicy>FORCE</defaultPolicy> >> <conditions> >> <create>true</create> >> <update>true</update> >> <delete>true</delete> >> <changeId>true</changeId> >> </conditions> >> <dataset> >> <name>objectClass</name> >> <policy>KEEP</policy> >> <defaultValues></defaultValues> >> <forceValues></forceValues> >> <createValues> >> <string>"inetOrgPerson"</string> >> <string>"organizationalPerson"</string> >> <string>"person"</string> >> <string>"top"</string> >> </createValues> >> <delimiter>,</delimiter> >> </dataset> >> <dataset> >> <name>cn</name> >> <policy>FORCE</policy> >> <defaultValues></defaultValues> >> <forceValues> >> <string>srcBean.getDatasetFirstValueById("givenName") + " " + >> srcBean.getDatasetFirstValueById("sn")</string> >> </forceValues> >> <createValues></createValues> >> <delimiter>,</delimiter> >> </dataset> >> <dataset> >> <name>givenName</name> >> <policy>KEEP</policy> >> <defaultValues> >> <string>" "</string> >> </defaultValues> >> <forceValues></forceValues> >> <createValues></createValues> >> </dataset> >> <dataset> >> <name>userPassword</name> >> <policy>FORCE</policy> >> <defaultValues></defaultValues> >> <forceValues> >> >> <string>"{MD5}"+srcBean.getDatasetFirstValueById("userPassword")</string> >> </forceValues> >> <createValues></createValues> >> </dataset> >> </propertiesBasedSyncOptions> >> </task> >> </tasks> >> <security> >> <encryption> >> <keyfile>etc/lsc.key</keyfile> >> <algorithm>AES</algorithm> >> <strength>128</strength> >> </encryption> >> </security> >> </lsc> >> 2/InetOrgPerson.xml: >> >> <?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="getInetOrgPersonList" resultClass="java.util.HashMap"> >> select uid as uid >> from users >> </select> >> >> <select id="getInetOrgPerson" resultClass="java.util.HashMap" >> parameterClass="java.util.Map"> >> select description as description, >> userPassword as userPassword, >> uid as uid, >> employeeNumber as employeeNumber, >> sn as sn, >> givenName as givenName, >> l as l, >> postalAddress as postalAddress, >> mail as mail >> from users >> where uid = #uid# >> </select> >> <select id="getInetOrgPersonClean" resultClass="java.util.HashMap" >> parameterClass="java.util.Map"> >> select uid as uid >> from users >> where uid = #uid# >> >> </select> >> </sqlMap> >> 3/sql-map-config.xml: >> <?xml version="1.0" encoding="UTF-8" ?> >> >> <!DOCTYPE sqlMapConfig >> PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" >> "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> >> >> <sqlMapConfig> >> >> <settings >> lazyLoadingEnabled="true" >> cacheModelsEnabled="true" >> enhancementEnabled="true" >> maxRequests="512" >> maxSessions="128" >> maxTransactions="32" >> /> >> >> <transactionManager type="JDBC"> >> <dataSource type="SIMPLE"> >> <property value="${driver}" name="JDBC.Driver" /> >> <property value="${url}" name="JDBC.ConnectionURL" /> >> <property value="${username}" name="JDBC.Username"/> >> <property value="${password}" name="JDBC.Password"/> >> <property value="15" name="Pool.MaximumActiveConnections"/> >> <property value="15" name="Pool.MaximumIdleConnections"/> >> <property value="1000" name="Pool.MaximumWait"/> >> </dataSource> >> </transactionManager> >> >> >> >> <sqlMap url="file://${lsc.config}/sql-map-config.d/InetOrgPerson.xml"/> >> >> >> </sqlMapConfig> >> >> What should i do? >> >> Sincerely, >> >> *HAJJI Kawtar* >> >> >> >
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

