The following error occurs when xfire is integrated with spring:
Information: loading spring root webapplicationcontext <br/> 2010-3-12 10:52:44 Org. apache. catalina. core. standardcontext listenerstart <br/> critical: exception sending context initialized event to listener instance of class Org. springframework. web. context. contextloaderlistener <br/> Org. springframework. beans. factory. beandefinitionstoreexception: Line 5 in XML document from servletcontext resource [/WEB-INF/applicationcontext. XML] is invalid; Nested exception is Org. XML. sax. saxparseexception: document root element "beans", must match doctype root "null ". <br/> Org. XML. sax. saxparseexception: document root element "beans", must match doctype root "null ". <br/> at com.sun.org. apache. xerces. internal. util. errorhandlerwrapper. createsaxparseexception (unknown source) <br/> at com.sun.org. apache. xerces. internal. util. errorhandlerwrapper. error (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmlerrorreporter. reporterror (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmlerrorreporter. reporterror (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. DTD. xmldtdvalidator. rootelementspecified (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. DTD. xmldtdvalidator. handlestartelement (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. DTD. xmldtdvalidator. startelement (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmldocumentfragmentscannerimpl. scanstartelement (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmldocumentscannerimpl $ contentdispatcher. scanrootelementhook (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmldocumentfragmentscannerimpl $ fragmentcontentdispatcher. dispatch (unknown source) <br/> at com.sun.org. apache. xerces. internal. impl. xmldocumentfragmentscannerimpl. scandocument (unknown source) <br/> at com.sun.org. apache. xerces. internal. parsers. xml11configuration. parse (unknown source) <br/> at com.sun.org. apache. xerces. internal. parsers. xml11configuration. parse (unknown source) <br/> at com.sun.org. apache. xerces. internal. parsers. xmlparser. parse (unknown source) <br/> at com.sun.org. apache. xerces. internal. parsers. domparser. parse (unknown source) <br/> at com.sun.org. apache. xerces. internal. JAXP. documentbuilderimpl. parse (unknown source) <br/> at Org. springframework. beans. factory. XML. xmlbeandefinitionreader. doloadbeandefinitions (xmlbeandefinitionreader. java: 222) <br/> at Org. springframework. beans. factory. XML. xmlbeandefinitionreader. loadbeandefinitions (xmlbeandefinitionreader. java: 173) <br/> at Org. springframework. beans. factory. XML. xmlbeandefinitionreader. loadbeandefinitions (xmlbeandefinitionreader. java: 148) <br/> at Org. springframework. beans. factory. support. abstractbeandefinitionreader. loadbeandefinitions (abstractbeandefinitionreader. java: 126) <br/> at Org. springframework. beans. factory. support. abstractbeandefinitionreader. loadbeandefinitions (abstractbeandefinitionreader. java: 142) <br/> at Org. springframework. web. context. support. xmlwebapplicationcontext. loadbeandefinitions (xmlwebapplicationcontext. java: 126) <br/> at Org. springframework. web. context. support. xmlwebapplicationcontext. loadbeandefinitions (xmlwebapplicationcontext. java: 94) <br/> at Org. springframework. context. support. abstractrefreshableapplicationcontext. refreshbeanfactory (abstractrefreshableapplicationcontext. java: 89) <br/> at Org. springframework. context. support. abstractapplicationcontext. refresh (abstractapplicationcontext. java: 269) <br/> at Org. springframework. web. context. support. abstractrefreshablewebapplicationcontext. refresh (abstractrefreshablewebapplicationcontext. java: 134) <br/> at Org. springframework. web. context. contextloader. createwebapplicationcontext (contextloader. java: 246) <br/> at Org. springframework. web. context. contextloader. initwebapplicationcontext (contextloader. java: 184) <br/> at Org. springframework. web. context. contextloaderlistener. contextinitialized (contextloaderlistener. java: 49) <br/> at Org. apache. catalina. core. standardcontext. listenerstart (standardcontext. java: 3827) <br/> at Org. apache. catalina. core. standardcontext. start (standardcontext. java: 4334) <br/> at Org. apache. catalina. core. containerbase. addchildinternal (containerbase. java: 791) <br/> at Org. apache. catalina. core. containerbase. addchild (containerbase. java: 771) <br/> at Org. apache. catalina. core. standardhost. addchild (standardhost. java: 525) <br/> at Org. apache. catalina. startup. hostconfig. deploydirectory (hostconfig. java: 920) <br/> at Org. apache. catalina. startup. hostconfig. deploydirectories (hostconfig. java: 883) <br/> at Org. apache. catalina. startup. hostconfig. deployapps (hostconfig. java: 492) <br/> at Org. apache. catalina. startup. hostconfig. start (hostconfig. java: 1138) <br/> at Org. apache. catalina. startup. hostconfig. lifecycleevent (hostconfig. java: 311) <br/> at Org. apache. catalina. util. lifecyclesupport. firelifecycleevent (lifecyclesupport. java: 117) <br/> at Org. apache. catalina. core. containerbase. start (containerbase. java: 1053) <br/> at Org. apache. catalina. core. standardhost. start (standardhost. java: 719) <br/> at Org. apache. catalina. core. containerbase. start (containerbase. java: 1045) <br/> at Org. apache. catalina. core. standardengine. start (standardengine. java: 443) <br/> at Org. apache. catalina. core. standardservice. start (standardservice. java: 516) <br/> at Org. apache. catalina. core. standardserver. start (standardserver. java: 710) <br/> at Org. apache. catalina. startup. catalina. start (Catalina. java: 566) <br/> at Sun. reflect. nativemethodaccessorimpl. invoke0 (native method) <br/> at Sun. reflect. nativemethodaccessorimpl. invoke (unknown source) <br/> at Sun. reflect. delegatingmethodaccessorimpl. invoke (unknown source) <br/> at java. lang. reflect. method. invoke (unknown source) <br/> at Org. apache. catalina. startup. bootstrap. start (Bootstrap. java: 288) <br/> at Org. apache. catalina. startup. bootstrap. main (Bootstrap. java: 413) <br/> 10:52:44 Org. apache. catalina. core. standardcontext start <br/> critical: Error listenerstart <br/> 10:52:44 Org. apache. catalina. core. standardcontext start <br/> severe: context [/xfirespring] startup failed due to previous errors
Cause:
The xfire package contains a spring1.2.6 jar package, while the project jar package is 2.0.
Solution
Change the header schema of the original configuration file to the doctype mode. The original configuration file is as follows:
<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <beans <br/> xmlns = "http://www.springframework.org/schema/beans" <br/> xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" <br/> xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> </P> <p> <bean id = "hellows" class = "com. helloworld "/> <br/> <bean id =" addressinghandler "class =" org. codehaus. xfire. addressing. addressinginhandler "/> <br/> <bean name =" helloservice "class =" org. codehaus. xfire. spring. servicebean "> <br/> <property name =" servicebean "ref =" hellows "/> <br/> <property name =" serviceclass "value =" com. ihelloworld "/> <br/> <property name =" inhandlers "> <list> <ref bean =" addressinghandler "/> </List> </property> <br/> </bean> </P> <p> </beans>
Changed:
<? XML version = "1.0" encoding = "UTF-8"?> <Br/> <! Doctype beans public "-// spring // DTD bean 2.0 // en" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <br/> <beans> </P> <p> <bean id =" hellows "class =" com. helloworld "/> <br/> <bean id =" addressinghandler "class =" org. codehaus. xfire. addressing. addressinginhandler "/> </P> <p> <bean name =" helloservice "class =" org. codehaus. xfire. spring. servicebean "> <br/> <property name =" servicebean "ref =" hellows "/> <br/> <property name =" serviceclass "value =" com. ihelloworld "/> <br/> <property name =" inhandlers "> <list> <ref bean =" addressinghandler "/> </List> </property> <br/> </bean> </P> <p> </beans>