0

So I am using hibernate 3.2 and Spring 2 for my app. And I am having issues compiling it and getting it up and running on my Tomcat 6. It keeps on complaining about some "InvalidMappingException" and complains about my application context hibernate xml file. I checked and rechecked the tags on the file and there doesn't seem to be any glaring tag errors to me.

Here is the console output

    SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'DisplayOnlineAlertInterceptor' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'dispAlertOnlineArch' while setting bean property 'dispAlertOnlineArch'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dispAlertOnlineArch' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'operationalAlertDAO' while setting bean property 'operationalAlertDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'operationalAlertDAO' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'hibernateTemplate' while setting bean property 'hibernateTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate-abstract.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dispAlertOnlineArch' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'operationalAlertDAO' while setting bean property 'operationalAlertDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'operationalAlertDAO' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'hibernateTemplate' while setting bean property 'hibernateTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate-abstract.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'operationalAlertDAO' defined in class path resource [com/usps/ism/techarch/contexts/alert/application-context-onlineAert.xml]: Cannot resolve reference to bean 'hibernateTemplate' while setting bean property 'hibernateTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate-abstract.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate-abstract.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [jar:file:/C:/SVN/ism_code/CR_31_0/gbs_rcpt/receipt-web/target/webapp/WEB-INF/lib/techarch-dao-0.1.0.0-SNAPSHOT.jar!/com/usps/ism/dao/application-context-dao-hibernate.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:651)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:131)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1062)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1029)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:420)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:290)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
    at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:156)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:802)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:676)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:602)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:503)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:325)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1068)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at 

  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    Caused by: org.dom4j.DocumentException: Error on line 31 of document  : The 
    content of elements must consist of well-formed character data or markup. 
    Nested exception: The content of elements must consist of well-formed 
    character data or markup.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
    ... 75 more

This is my "application-context-hibernate.xml"

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

    <!-- this defines all common dao beans -->
    <import resource="application-context-dao-hibernate-abstract.xml"/>

    <bean id="sessionFactory" parent="sessionFactoryAbs">
        <property name="mappingLocations"> 
            <list>
                  <value>classpath*:com/usps/ism/domain/*.hbm.xml</value>    
                  <value>classpath*:com/usps/ism/domain/noncascade/*.hbm.xml</value>  

                  <value>classpath*:com/usps/ism/*/domain/*.hbm.xml</value>  
            </list>
        </property>
    </bean>
</beans>

Can someone please help me find out what is wrong? Thanks

Looking at my other recently changed hbm xml, I have a searchquery hbm xml file with some issues formatting the query. It queries an oracle view but I can't quite get it to format the comparison operators properly

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <sql-query name="countryOfInterestCountVSearchQuery">
        <return alias="countryOfInterestSearchResultsDto" class="com.usps.ism.receipt.domain.CountryOfInterestSearchResultsDto" />
        select distinct
            ctry_intt_seq_nbr,
            ctry_intt_servr_site_cd,
            ML_CL_CODE,
            ORGN_CTRY_CODE,
            fac_isc,
            eff_utc_dtm,
            STS,
            smpl_freq,
            MAX_SMPL,
            PRDCTD_RCPT_CNT,
            RCPT_GRWTH_FCTR,
            PRDCTD_RCPT_CNT_W_GRWTH
        from ctry_intt_cnt_v cicv
        where (cicv.FAC_ISC = :inputFac OR :inputFac is null)
            and (cicv.ORGN_CTRY_CODE = :inputOrgnCtryCode OR :inputOrgnCtryCode is null)
            and (cicv.ML_CL_CODE = :inputMlClCode OR :inputMlClCode is null)
            and (cicv.STS in (:inputSts))
            and (cicv.SMPL_FREQ = :inputSmplFreq OR :inputSmplFreq is null)
            and ((:inputPrdctnDate IS NULL AND ((cicv.EFF_UTC_DTM > sys_extract_utc(systimestamp) AND to_char(cicv.PRDCTN_DATE, 'MM/DD/YYYY') = to_char(cicv.EFF_UTC_DTM, 'MM/DD/YYYY')) OR (cicv.EFF_UTC_DTM <=sys_extract_utc(systimestamp) AND to_char(cicv.PRDCTN_DATE, 'MM/DD/YYYY') = to_char(sys_extract_utc(systimestamp), 'MM/DD/YYYY')))) OR (:inputPrdcnDate IS NOT NULL AND cicv.PRDCTN_DATE = :inputPrdctnDATE))
    </sql-query>
</hibernate-mapping>
Linkx_lair
  • 569
  • 1
  • 9
  • 21

2 Answers2

2

I don't believe the error is in your application-context-hibernate.xml itself, but is in one of the referenced mapping files.

The clue is:

Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream

Hibernate is having an issue reading one of the actual mapping documents *.hbm.xml

If you've made any changes to any of the files, i'd review, perhaps try running them through an online XML validator to see if there is a formatting issue.

Ben M
  • 1,833
  • 1
  • 15
  • 24
0

Ok looking through the StackOverflow and after few more headbangs, I think I figured it out- so XML doesn't like those '<' and '>' but those operators are needed for less than and greater than. Having greater than or less than in hibernate named sql query

basically i have to use some & lt; instead of '<' and & gt; instead of '>'

Linkx_lair
  • 569
  • 1
  • 9
  • 21