Hi Kaoutar, Remove limit 1 from the sql request :)
Regards Le lundi 28 septembre 2015, Kaoutar Hajji < [email protected]> a écrit : > Hi, > I tried to launch LSC in asynchronous mode via the commande :( > /usr/bin/lsc -f /etc/lsc -a all ) but LSC added just one entry "in total i > have 2000 entry." Can someone tell me why ? > 1/lsc.xml: > <databaseSourceService> > <name>sqldb-source-service</name> > <connection reference="sqldb" /> > <requestNameForList>getInetOrgPersonList</requestNameForList> > <requestNameForObject>getInetOrgPerson</requestNameForObject> > <requestNameForNextId>getNextInetOrgPersonId</requestNameForNextId> > > <requestNameForClean>getInetOrgPersonClean</requestNameForClean></databaseSourceService> > > 2/InetOrgPerson.xml: > <select id="getNextInetOrgPersonId" resultClass="java.util.HashMap"> > SELECT uid as uid > FROM users > order by employeeNumber asc > limit 1 > </select> > > Sincerely, > > *HAJJI Kawtar* > > > 2015-09-19 7:03 GMT+01:00 Kaoutar Hajji < > [email protected] > <javascript:_e(%7B%7D,'cvml','[email protected]');>>: > >> 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] >> <javascript:_e(%7B%7D,'cvml','[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] >>> <javascript:_e(%7B%7D,'cvml','[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* >>>> >>>> >>>> >>> >> > -- Sebastien BAHLOUL
_______________________________________________________________ Ldap Synchronization Connector (LSC) - http://lsc-project.org lsc-users mailing list [email protected] http://lists.lsc-project.org/listinfo/lsc-users

