Spring with Castor - Null Pointer Exception when initialising Application Context

Posted by babyangel86 on Stack Overflow See other posts from Stack Overflow or by babyangel86
Published on 2010-03-14T11:19:08Z Indexed on 2010/03/14 11:25 UTC
Read the original article Hit count: 414

Hi,

I'm trying to register my castor mapping files with spring and I appear to be getting a null pointer exception.

In my application context I have:

   <bean id="xmlContext" class="org.castor.spring.xml.XMLContextFactoryBean">
  <property name="mappingLocations">
       <list>
          <value>DistributionSamplerMappings.xml</value>
       </list>
    </property>
    <property name="castorProperties">
            <props>
                <prop key="org.exolab.castor.xml.strictelements">false</prop>
            </props>
       </property>
 </bean>

 <bean id="marshaller"
       class="org.castor.spring.xml.CastorMarshallerFactoryBean">
    <property name="xmlContext"><ref local="xmlContext"/></property>
 </bean>

 <bean id="unmarshaller"
        class="org.castor.spring.xml.CastorUnmarshallerFactoryBean">
        <property name="xmlContext"> <ref local="xmlContext"/></property>
        <property name="ignoreExtraElements"><value>true</value></property>
        <property name="ignoreExtraAttributes"><value>true</value></property>
    </bean>

Where DistributionSamplerMappings.xml lives in the same dir as the application context.

I've tried using the spring-xml jar 1.2.1 and 1.5.3. but none of them seem to help.

The exception being thrown back is:

SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xmlContext' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
 at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
 at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
 at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
 at org.apache.catalina.core.StandardService.start(StandardService.java:516)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NullPointerException
 at org.castor.spring.xml.XMLContextFactoryBean.afterPropertiesSet(XMLContextFactoryBean.java:118)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
 ... 30 more

I'm using Spring 2.5.6 and Castor 1.3.1.

Looking around I find I'm not the only one who has had this problem, but I don't seem to be able to find a solution.

Any help would be much appreciated.

© Stack Overflow or respective owner

Related posts about castor

Related posts about spring