Hello,

I am developing a Web Application with Maven+JavaEE, and needed to make some 
queries to an LDAP server, I have found Apache LDAP API and seems to be the 
best library and work with LDAP very well.

After creating the Maven project, and add the dependency for Apache LDAP API, 
added a JSP and Servlet, when I run the application through a <form> in JSP, an 
exception is thrown in the console of Tomcat.

Exception:
>java.lang.ClassNotFoundException: 
>org.apache.directory.ldap.client.api.LdapNetworkConnection
>    at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
>    at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
>    at org.ldap-project.OperationServlet.doPost(OperationServlet.java:41)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>    at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
>    at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
>    at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
>    at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
>    at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
>    at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
>    at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>    at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
>    at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
>    at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
>    at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
>    at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>    at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>    at java.lang.Thread.run(Thread.java:722)

Maven pom.xml:
> ...
> <dependency>
>     <groupId>org.apache.directory.shared</groupId>
>     <artifactId>shared-all</artifactId>
>     <version>1.0.0-M12</version>
>     <scope>runtime</scope>
> </dependency>
> ...

HTML (JSP):
>    <form action="OperationServlet" method="post">
>        <table>
>            <tr>
>                <td>option: </td><td><input type="text" name="option"/></td>
>            </tr>
>            <tr>
>                <td colspan="2"><input type="submit"/></td>
>            </tr>
>        </table>
>    </form>

Java Code:
>    protected void doPost(HttpServletRequest request, HttpServletResponse 
> response) throws ServletException, IOException {
>        // TODO Auto-generated method stub
>        LdapConnection connection = new LdapNetworkConnection("localhost", 
> 636, true);
>        connection.close();
>
>        RequestDispatcher dispatcher = 
> getServletContext().getRequestDispatcher("/login.jsp");
>        dispatcher.forward(request, response);
>    }
NOTE: Error occurs on line that it's "connection" variable is declared.

I have used the same code on a "offline" java project (again with Maven), and 
this exception didn't occur in any instance of application. I suspect that 
problem could be on JavaEE.

Any suggestion to solve this problem?

Thank you in advance.
Regards,
Paulo Oliveira

Reply via email to