Dear All,

I have googled long time, but I cannot figure why the XML file I gave according 
to the online tutorial :

http://lsc-project.org/wiki/documentation/2.0/tutorials/openldaptoactivedirectory

I have 2 servers :
One is AD on 10.1.1.1 with password WTF
One is openldap 10.2.2.2 with password WTF2

When trying to validate and test the configuration file the lsc barf itsef with 
the nice java backtrace :


Dec 09 12:39:58 - DEBUG - Loading XML configuration from: 
/home/sadm/lsc-openldap2ad/etc/lsc.xml
Dec 09 12:39:58 - INFO  - Reflections took 220 ms to scan 1 urls, producing 51 
keys and 103 values 
Dec 09 12:39:58 - DEBUG - Importing XML schema file: schemas/lsc-core-2.0.xsd
Dec 09 12:39:58 - ERROR - org.lsc.exception.LscConfigurationException: 
javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was 
found starting with element 'pivotAttributes'. One of 
'{"http://lsc-project.org/XSD/lsc-core-2.0.xsd":cleanFilter, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":filterAsync, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":dateFormat, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":interval}' is expected.]
org.lsc.exception.LscConfigurationException: javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was 
found starting with element 'pivotAttributes'. One of 
'{"http://lsc-project.org/XSD/lsc-core-2.0.xsd":cleanFilter, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":filterAsync, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":dateFormat, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":interval}' is expected.]
        at 
org.lsc.configuration.JaxbXmlConfigurationHelper.getConfiguration(JaxbXmlConfigurationHelper.java:172)
 ~[lsc-core-2.0.3.jar:na]
        at org.lsc.Configuration.setUp(Configuration.java:481) 
~[lsc-core-2.0.3.jar:na]
        at org.lsc.Launcher.run(Launcher.java:195) [lsc-core-2.0.3.jar:na]
        at org.lsc.Launcher.launch(Launcher.java:159) [lsc-core-2.0.3.jar:na]
        at org.lsc.Launcher.main(Launcher.java:142) [lsc-core-2.0.3.jar:na]
Caused by: javax.xml.bind.UnmarshalException: null
        at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:505)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:206)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:173)
 ~[na:1.6.0_45]
        at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
 ~[na:1.6.0_45]
        at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:142)
 ~[na:1.6.0_45]
        at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:151)
 ~[na:1.6.0_45]
        at 
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:169)
 ~[na:1.6.0_45]
        at 
org.lsc.configuration.JaxbXmlConfigurationHelper.getConfiguration(JaxbXmlConfigurationHelper.java:170)
 ~[lsc-core-2.0.3.jar:na]
        ... 4 common frames omitted
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid 
content was found starting with element 'pivotAttributes'. One of 
'{"http://lsc-project.org/XSD/lsc-core-2.0.xsd":cleanFilter, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":filterAsync, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":dateFormat, 
"http://lsc-project.org/XSD/lsc-core-2.0.xsd":interval}' is expected.
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:423)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3188)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1812)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:711)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.startElement(ValidatorHandlerImpl.java:551)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(ValidatingUnmarshaller.java:78)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:135)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
 ~[na:1.6.0_45]
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
 ~[na:1.6.0_45]
        at 
com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:200)
 ~[na:1.6.0_45]
        ... 10 common frames omitted
Dec 09 12:39:58 - INFO  - Configuration validation failed !


Which I can consider there is somewhere in pivotAttributes tags and error.

Now I cannot figure what is the right error since I took the time to copy and 
paste the tutorials, and add a tripple check of the configuration file.

BTW here is the configuratio file :

<?xml version="1.0" ?>
<lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.0.xsd"; revision="0">
  <connections>
    <ldapConnection>
      <name>AD1</name>
      <url>ldap://10.1.1.1/dc=fsck,dc=local</url>
      <username>cn=Administrator,cn=Users,dc=fsck,dc=local</username>
      <password>WTF</password>
      <authentication>SIMPLE</authentication>
      <version>VERSION_3</version>
      <pageSize>1000</pageSize>
      <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
      <tlsActivated>false</tlsActivated>
    </ldapConnection>
    <ldapConnection>
      <name>openldap</name>
      <url>ldap://10.2.2.2:389/dc=hsoftware,dc=com</url>
      <username>cn=admin,dc=fsck,dc=com</username>
      <password>WTF2</password>
      <authentication>SIMPLE</authentication>
      <factory>com.sun.jndi.ldap.LdapCtxFactory</factory>
      <tlsActivated>false</tlsActivated>
    </ldapConnection>
  </connections>

  <tasks>
    <task>
        <name>adUser</name>
        <bean>org.lsc.beans.SimpleBean</bean>
        <ldapSourceService>
                <name>openldap-dst-service</name>
                <connection reference="openldap-dst-conn" />
                <baseDn>ou=people,dc=fsck,dc=com</baseDn>
                
<getAllFilter>(&amp;(uid=*)(objectClass=inetOrgPerson))</getAllFilter>
                
<getOneFilter>(&amp;(objectClass=user)(sAMAccountName={uid}))</getOneFilter>
                <pivotAttributes>
                        <string>uid</string>
                </pivotAttributes>
        </ldapSourceService>
        <ldapSourceService>
                <name>ad-src-service</name>
                <basedn>cn=Users,dc=fsck,dc=local</basedn>
                
<getAllFilter>(&amp;(sAMAccountName=*)(objectClass=user))</getAllFilter>
                
<getOneFilter>(&amp;(objectClass=inetOrgPerson)(uid={uid}))</getOneFilter>
                <pivotAttributes>
                        <string>sAMAccountName</string>
                </pivotAttributes>
        </ldapDestinationService>
           <propertiesBasedSyncOptions>
                <defaultPolicy>FORCE</defaultPolicy>
                <defaultDelimiter>;</defaultDelimiter>
                <dataset>
                        <name>objectClass</name>
                        <policy>FORCE</policy>
                        <forceValues>
                                
<string>"top";"user";"person";"organizationalPerson"</string>
                        </forceValues>
                </dataset>
                <dataset>
                        <name>sAMAccountName</name>
                        <policy>KEEP</policy>
                        <createValues>
                                
<string>srcBean.getDatasetFirstValueById("uid")</string>
                        </createValues>
                </dataset>
                <dataset>
                        <!-- userPrincipalName = uid + "@hsoftware.local" -->
                        <name>userPrincipalName</name>
                        <policy>FORCE</policy>
                        <forceValues>
                                <string>srcBean.getDatasetFirstValueById("uid") 
+ "@fsck.local"</string>
                        </forceValues>
                </dataset>
                <dataset>
                        <name>userAccountControl</name>
                        <policy>KEEP</policy>
                        <createValues>
                                <string>AD.userAccountControlSet( "0", 
[AD.UAC_SET_NORMAL_ACCOUNT])</string>
                        </createValues>
                </dataset>
                <dataset>
                        <!-- pwdLastSet = 0 to force user to change password on 
next connection -->
                        <name>pwdLastSet</name>
                        <policy>KEEP</policy>
                        <createValues>
                                <string>"0"</string>
                        </createValues>
                </dataset>
                <dataset>
                        <!-- unicodePwd = "changeit" at creation (requires SSL 
connection to AD) -->
                        <name>unicodePwd</name>
                        <policy>KEEP</policy>
                        <createValues>
                                <string>AD.getUnicodePwd("changeit")</string>
                        </createValues>
                </dataset>
        </propertiesBasedSyncOptions>
    </task>
  </tasks>
</lsc>


Any clues ? because I stuck on it... :/

Regards,
Xavier
_______________________________________________________________
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