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