Thanks for your reply;
I removed limit 1 from the SQL request. But i still get this error message:
WARN - Error while looking for next entry ({})
java.sql.SQLException: Error: executeQueryForObject returned too many
results.
Sincerly
*HAJJI Kawtar*
2015-09-28 7:02 GMT+01:00 Kaoutar Hajji <
[email protected]>:
> 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]>:
>
>> 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