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