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

Reply via email to