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