Pregunta

Estoy escribiendo una aplicación que utiliza la primavera LDAP. Aquí está mi archivo de frijoles.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
      <property name="url" value="xxxxx:xxx" />
      <property name="base" value="ou=xxxxx,dc=xxxxxxx,dc=xxxxxx" />
      <property name="userDn" value="uid=xxxxxxx" />
      <property name="password" value="xxxxxxxx" />
   </bean>

   <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
      <constructor-arg ref="contextSource" />
   </bean>

   <bean id="helloLdap" class="a.b.c.HelloLdap">
      <property name="ldapTemplate" ref="ldapTemplate" />
   </bean>

</beans>

Aquí está mi código de creación de granos:

ApplicationContext fac = new ClassPathXmlApplicationContext(
                "a/b/c/ldap.xml");
HelloLdap hello = (HelloLdap) fac.getBean("helloLdap");

Aquí está mi mensaje de error:

Excepción en hilo "principal" org.springframework.beans.factory.BeanCreationException: Error crear bean con el nombre 'contextSource' se define en la ruta de clase de recursos [xxxxxxxxxxxx]: los valores de propiedad de ajuste de error; excepción anidada es org.springframework.beans.PropertyBatchUpdateException; PropertyAccessExceptions anidados (1) son: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Propiedad 'base' lanzó una excepción; excepción anidada es java.lang.NoClassDefFoundError: org / apache / comunes / lang / StringUtils

Por lo que dice (lo más importante)

"Property 'base' threw exception". 

Me gustaría saber si esto es debido a que la autenticación requiere StartTLS. Yo no indican StartTLS en cualquier lugar de autenticación en mi archivo de granos, así que quizás que está causando el error. Aún así, yo esperaría que la autenticación suceda después se crean los granos, no durante su creación.

¿Alguien sabe si esto es la causa (StartTLS authenticaton)? Si no, alguna idea de lo que estoy haciendo mal en mi XML?

Gracias, KTM

¿Fue útil?

Solución

La respuesta está en el mensaje de error:

java.lang.NoClassDefFoundError: org / apache / Commons / lang / StringUtils

Algo en la aplicación requiere Apache Commons Lang . Descarga que, agregarlo a la ruta de clases.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top