Hello,
I am crushing with my hairs  with the following problem.

 I don't  know why Wicket won't instantiate my ldap bean.

 
Here is the *web.xm*l


<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
        version="2.5">

        <display-name>amemet</display-name>


        
        
        <context-param>
                <param-name>configuration</param-name>
                <param-value>development</param-value>
        </context-param>


        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:applicationContext.xml</param-value>
        </context-param>
        
        

        <filter>
                <filter-name>wicket.amemet</filter-name>
                
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
                <init-param>
                        <param-name>applicationClassName</param-name>
                                
<param-value>org.univ.amemet.ApplicationAmemet</param-value> 
                </init-param>
        </filter>

<filter>
                <filter-name>SpringContext</filter-name>
                
<filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
                <init-param>
                        <param-name>applicationFactoryClassName</param-name>
                
<param-value>org.apache.wicket.spring.SpringWebApplicationFactory</param-value>
                </init-param>
        </filter>
        

        <filter-mapping>
                <filter-name>wicket.amemet</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>
        
        <filter-mapping>
                <filter-name>SpringContext</filter-name>
                <url-pattern>/*</url-pattern>
                <dispatcher>REQUEST</dispatcher>
                <dispatcher>INCLUDE</dispatcher>
        </filter-mapping>
        
        
        <listener>
                <listener-class>
                     org.springframework.web.context.ContextLoaderListener
                </listener-class>
        </listener>
        
        
        
        
         
    <filter>
        <filter-name>OpenEntityManagerInViewFilter</filter-name>
       
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>OpenEntityManagerInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 
         
</web-app>






in maven  /src/main/resources   a piece of   my * applicationContext.xml* .


         
         <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:p="http://www.springframework.org/schema/p";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:context="http://www.springframework.org/schema/context";
xmlns:tx="http://www.springframework.org/schema/tx";
        xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context
          
http://www.springframework.org/schema/context/spring-context-3.0.xsd
           http://www.springframework.org/schema/tx
                  
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd";>
                                   
                                   
                                   
                                   
        <context:annotation-config/>
        <tx:annotation-driven/>
        
        <context:component-scan base-package="org.amemet" />
        
         <context:component-scan base-package="org.univ.amemet" />
    <context:component-scan
base-package="org.springframework.ldap"></context:component-scan>
        
        <import resource="classpath:ldap.xml"/>

        
<bean id="applicationAmemet" class="org.univ.amemet.ApplicationAmemet">

                                                         
                
</beans>



and the ldap.xml


         <?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.xsd";>
                                        
        <bean id="contextSource"
                
class="org.springframework.ldap.pool.factory.PoolingContextSource">
                <property name="contextSource" ref="contextSourceTarget" />
                <property name="dirContextValidator" ref="dirContextValidator" 
/>
                <property name="testOnBorrow" value="true" />
                <property name="testWhileIdle" value="true" />
        </bean>

        <bean id="dirContextValidator"
        
class="org.springframework.ldap.pool.validation.DefaultDirContextValidator"
/>
        <bean id="contextSourceTarget"
class="org.springframework.ldap.core.support.LdapContextSource">
                <property name="url" value="our own" />
                <property name="base" value="dc=xxxx,dc=xxxx,dc=..." />
                <property name="userDn"
                        value="cn=...,ou=...,dc=ldap,dc=...,dc=..." />
                <property name="password" value="xxxxxx"></property>
        </bean>



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


</beans>                                





The application class



public class ApplicationAmemet extends WebApplication {
        @Override
        public void init()
        {
          //...
                /* Initialisation   du context  spring  annotation 
configuration   */
                AnnotationConfigApplicationContext contextAnnotation = new
AnnotationConfigApplicationContext();
                contextAnnotation.scan("org.univ.amemet");
        
                contextAnnotation.refresh();
        getComponentInstantiationListeners().add(new
SpringComponentInjector(this, contextAnnotation));
        
      //initialisation du context spring  xml  configuration.
        getComponentInstantiationListeners().add(new
SpringComponentInjector(this));
        
        }
}


        

My Ldap component 

@ManagedBean
public class ILdapComposanteDaoImpl implements ILdapComposanteDao {


        @SpringBean(name="ldapTemplate")
        private LdapTemplate ldapTemplate;
        //etc ...
}



And at last the wicket class who use it .


         


public class ListeUfrsPage extends   BaseTemplate
{

 @SpringBean(name="ldapComposanteDao")
  private ILdapComposanteDao ldapComposanteDao;
  
  
        public ILdapComposanteDao getLdapComposanteDao() {
                return ldapComposanteDao;
        }

        public void setLdapComposanteDao(ILdapComposanteDao ldapComposanteDao) {
                this.ldapComposanteDao = ldapComposanteDao;
                
        }
        
}




In the error  messages,  

Last cause: null
WicketMessage: Can't instantiate page using constructor 'public
org.univ.amemet.pages.menu.ListeUfrsPage()'. An exception has been thrown
during construction!

Root cause:

java.lang.NullPointerException
at
org.univ.amemet.services.ldap.ILdapComposanteDaoImpl.getUFRs(ILdapComposanteDaoImpl.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:435)
at $Proxy48.getUFRs(Unknown Source)
at
org.univ.amemet.pages.menu.ListeUfrsPage.initListeUfrs(ListeUfrsPage.java:196)
at org.univ.amemet.pages.menu.ListeUfrsPage.<init>(ListeUfrsPage.java:96)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175)
at
org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at
org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:133)
at
org.apache.wicket.core.request.handler.PageProvider.resolvePageInstance(PageProvider.java:268)
at
org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:166)
at
org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at
org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:269)
at
org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:861)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
at
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1332)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:348)
at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:452)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:884)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:938)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at
org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:662)




The 
org.univ.amemet.services.ldap.ILdapComposanteDaoImpl.getUFRs(ILdapComposanteDaoImpl.java:211)
show  me that the bean* ldapTemplate is null.*


Any help will be appreciate.

Thanks.












--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Wicket-integration-with-Spring-ldap-tp4662097.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to