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 ...

+ Reply to Thread
Results 1 to 4 of 4

web.xml and Spring error

  1. Default 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?

  2. Default 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/

  3. Default 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"..>

  4. Default 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/

+ Reply to Thread