My apologies in advance for some of the syntax and verbiage - I am a newbie in 
all of this, but did do my reading / research / and chat on IRC’s.

The current setup I have is this:
Apache DS LDAP version 2.0.0-M14 running on Linux with Port 8660. The server 
instance works fine and I am able to do a search via Apache API in Java 
(Eclipse). I bind to this server anonymously via connection.bind()
Tomcat  version 7.0.47 running on Mac OS X (Maverick) with Port 8080. The 
Tomcat instance work fine using the installed default values. I am able to run 
simple REST API and consume them via any browser.

Issue: I am trying to create a connection to the LDAP server via anonymous 
binding. I configured the appropriate conf file: server.xml with the REALM as 
follows:

   <Realm className="org.apache.catalina.realm.JNDIRealm"
                        connectionURL="ldap://Integration01.icsl.net:8660"; 
debug="99"
                        userBase="dc=sumsmail,dc=com"
                        userSearch="(mail{0})"
                        userSearch="(userCertificate{0})"
                        userSubtree="true"
                        roleBase="dc=sumsmail,dc=com"
                        roleName="cn"
                        roleSearch="(mail={0})"
                        roleSearch="(userCertificate={0})"
                        roleSubtree="true"
                        />
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
 
This is the only changes I made.
When I launch the Server, it crashes immediately, giving me the following 
error(s):

Nov 4, 2013 10:22:31 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal 
performance in production environments was not found on the java.library.path: 
.:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Nov 4, 2013 10:22:31 AM org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 116 column 37: Attribute "userSearch" was 
already specified for element "Realm".
org.xml.sax.SAXParseException: Attribute "userSearch" was already specified for 
element "Realm".
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1476)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1567)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1326)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2763)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:513)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:815)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:744)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:128)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:543)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:665)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Nov 4, 2013 10:22:31 AM org.apache.catalina.startup.Catalina load
WARNING: Catalina.start using conf/server.xml: Attribute "userSearch" was 
already specified for element "Realm".
Nov 4, 2013 10:22:31 AM org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 116 column 37: Attribute "userSearch" was 
already specified for element "Realm".
org.xml.sax.SAXParseException: Attribute "userSearch" was already specified for 
element "Realm".
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
        at 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
        at 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1476)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1567)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1326)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2763)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:513)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:815)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:744)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:128)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:543)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1537)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:617)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:679)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Nov 4, 2013 10:22:31 AM org.apache.catalina.startup.Catalina load
WARNING: Catalina.start using conf/server.xml: Attribute "userSearch" was 
already specified for element "Realm".
Nov 4, 2013 10:22:31 AM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

I am not sure what I am doing wrong and/or missing. If there is another way to 
setup a connection, I am not aware of this, nor did I find any documentation 
about this anywhere.

What I am trying to achieve here:

Given a userName, the REST API (server side) running on Tomcat will bind to the 
LDAP and retrieve a Directory list to compare this with the request from the 
client. It will then iterate throughout this Array and return some data.

Thank you for any help and advice.

Kind regards

Shai Levit

Reply via email to