web.xml and Spring error - Weblogic
This is a discussion on web.xml and Spring error - Weblogic ; I am using weblogic 8.1 with SP4.
When I add the following to web.xml,=20
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<web-app xmlns=3D"http://java.sun.com/xml/ns/j2ee"
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=3D"http://java.sun.com/xml/ns/j2ee http://java.sun.c=
om/xml/ns/j2ee/web-app_2_4.xsd" version=3D"2.4">
weblogic cannot be started correctly. The error is=20
Deployment descriptor "web.xml" is malformed. Check against the ...
-
web.xml and Spring error
I am using weblogic 8.1 with SP4.
When I add the following to web.xml,=20
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<web-app xmlns=3D"http://java.sun.com/xml/ns/j2ee"
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=3D"http://java.sun.com/xml/ns/j2ee http://java.sun.c=
om/xml/ns/j2ee/web-app_2_4.xsd" version=3D"2.4">
weblogic cannot be started correctly. The error is=20
Deployment descriptor "web.xml" is malformed. Check against the DTD: org.xm=
l.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element =
'web-app'.
When I try to deploy a Spring app where the xml says
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
Again I get errors on correct tag formats.
Help?
-
Re: web.xml and Spring error
The first error you showed is because you deployed a servlet 2.4 web.xml on=
WLS 8.1. WLS 9.0 is the first version to support that specification.
You'll have to provide some more info on the spring error if you want help =
with that.
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/
-
Re: web.xml and Spring error
It is an application we ran in Tomcat but when we tried to deploy to Weblog=
ic, all the xmls became invalid. I changed the parser to not use the weblo=
gic parser but to use the apache xerces but we still got the parsing error.
My web.xml =3D=20
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<web-app xmlns=3D"http://java.sun.com/xml/ns/j2ee"
xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=3D"http://java.sun.com/xml/ns/j2ee http://java.sun.c=
om/xml/ns/j2ee/web-app_2_3.xsd" version=3D"2.3">
<display-name>sniffers</display-name>
<!-- Define the basename for a resource bundle for I18N -->
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-n=
ame>
<param-value>messages</param-value>
</context-param>
<filter>
<filter-name>exportFilter</filter-name>
<filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-=
class>
</filter>
<filter>
<filter-name>messageFilter</filter-name>
<filter-class>edu.mit.ll.dis.web.MessageFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</f=
ilter-class>
</filter>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<filter-mapping>
<filter-name>messageFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>exportFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListen=
er</listener-class>
</listener>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</s=
ervlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
</web-app>
_____________________________________________
One of the application xml that is failing =3D=20
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id=3D"propertyConfigurer" class=3D"org.springframework.beans.fact=
ory.config.PropertyPlaceholderConfigurer">
<property name=3D"location" value=3D"classpath:jdbc.properties"/>
</bean>
<!-- Transaction template for Managers, from:
http://blog.exis.com/colin/archives/...e-transaction=
-definitions-spring-11/ -->
<bean id=3D"txProxyTemplate" abstract=3D"true"
class=3D"org.springframework.transaction.interceptor.TransactionPro=
xyFactoryBean">
<property name=3D"transactionManager"><ref bean=3D"transactionManag=
er"/></property>
<property name=3D"transactionAttributes">
<props>
<prop key=3D"save*">PROPAGATION_REQUIRED</prop>
<prop key=3D"remove*">PROPAGATION_REQUIRED</prop>
<prop key=3D"*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id=3D"userManager" parent=3D"txProxyTemplate">
<property name=3D"target">
<bean class=3D"edu.mit.ll.dis.service.impl.UserManagerImpl">
<property name=3D"userDAO" ref=3D"userDAO"/>
</bean>
</property>
</bean>
<bean id=3D"entityStatePduBeanManager" parent=3D"txProxyTemplate">
<property name=3D"target">
<bean class=3D"edu.mit.ll.dis.service.impl.EntityStatePduBeanMa=
nagerImpl">
<property name=3D"entityStatePduBeanDAO" ref=3D"entityState=
PduBeanDAO"/>
</bean>
</property>
</bean>
<bean id=3D"entityStatePduSniffer" class=3D"edu.mit.ll.dis.service.impl=
..EntityStatePduSnifferImpl">
<property name=3D"entityStatePduBeanManager">
<ref local=3D"entityStatePduBeanManager"/>
</property>
</bean>
=20
</beans>
_______________________________
The parser does not like how value and ref are defined.
The error is :
15:10:28,194 ERROR ContextLoader:172 - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Line 13 in =
XML d
ocument from ServletContext resource [/WEB-INF/applicationContext-hibernate=
..xml]
is invalid; nested exception is org.xml.sax.SAXParseException: Attribute "=
ref"
must be declared for element type "property".
org.xml.sax.SAXParseException: Attribute "ref" must be declared for element=
type
"property".
at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java=
:1060
)
at org.apache.xerces.validators.common.XMLValidator.validateElement=
AndAt
tributes(XMLValidator.java:2991)
at org.apache.xerces.validators.common.XMLValidator.callStartElemen=
t(XML
Validator.java:924)
at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDo=
cumen
tScanner.java:1858)
at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher=
..disp
atch(XMLDocumentScanner.java:1234)
at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocu=
mentS
canner.java:381)
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilder=
Impl.
java:123)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:76)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.lo=
adBea
nDefinitions(XmlBeanDefinitionReader.java:130)
at org.springframework.beans.factory.support.AbstractBeanDefinition=
Reade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:83)
at org.springframework.web.context.support.XmlWebApplicationContext=
..load
BeanDefinitions(XmlWebApplicationContext.java:114)
at org.springframework.web.context.support.XmlWebApplicationContext=
..load
BeanDefinitions(XmlWebApplicationContext.java:82)
at org.springframework.context.support.AbstractRefreshableApplicati=
onCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:87)
at org.springframework.context.support.AbstractApplicationContext.r=
efres
h(AbstractApplicationContext.java:262)
at org.springframework.web.context.support.AbstractRefreshableWebAp=
plica
tionContext.refresh(AbstractRefreshableWebApplicationContext.java:131)
at org.springframework.web.context.ContextLoader.createWebApplicati=
onCon
text(ContextLoader.java:224)
at org.springframework.web.context.ContextLoader.initWebApplication=
Conte
xt(ContextLoader.java:150)
at org.springframework.web.context.ContextLoaderListener.contextIni=
tiali
zed(ContextLoaderListener.java:48)
at weblogic.servlet.internal.WebAppServletContext$FireContextListen=
erAct
ion.run(WebAppServletContext.java:6781)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authent=
icate
dSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.=
java:
121)
at weblogic.servlet.internal.WebAppServletContext.notifyCreated(Web=
AppSe
rvletContext.java:1681)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(=
WebAp
pServletContext.java:3255)
at weblogic.servlet.internal.WebAppServletContext.setStarted(WebApp=
Servl
etContext.java:5949)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:8=
62)
at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationCont=
ainer
..java:2127)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationC=
ontai
ner.java:2168)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationC=
ontai
ner.java:2115)
at weblogic.management.deploy.slave.SlaveDeployer$Application.setAc=
tivat
ion(SlaveDeployer.java:3082)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStat=
eForA
llApplications(SlaveDeployer.java:1751)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeplo=
yer.j
ava:359)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.=
resum
e(DeploymentManagerServerLifeCycleImpl.java:229)
at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:1=
31)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
<Sep 15, 2005 3:10:28 PM EDT> <Warning> <HTTP> <BEA-101162> <User defined l=
isten
er org.springframework.web.context.ContextLoaderListener failed: org.spring=
frame
work.beans.factory.BeanDefinitionStoreException: Line 13 in XML document fr=
om Se
rvletContext resource [/WEB-INF/applicationContext-hibernate.xml] is invali=
d; ne
sted exception is org.xml.sax.SAXParseException: Attribute "ref" must be de=
clare
d for element type "property"..>
-
Re: web.xml and Spring error
Servlet 2.3 is DTD-based so just changing the namespace will not work. =20
You'd need a header like this:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.=
3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/