Reputation: 2679
When i deploy my WAR in Weblogic 10.3.6 it runs but in weblogic 10.3.0 it throws this:
Unable to load descriptor D:\bea103\user_projects\domains\SRVWinplex\Deployments\WinplexAdmin.war/WEB-INF/weblogic.xml of module WinplexAdmin.war. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152) at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306) at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788) at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:409) at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:759) at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:768) at weblogic.servlet.internal.WebAppDescriptor.getWeblogicWebAppBean(WebAppDescriptor.java:170)
It's a problem with the weblogic.xml i guess. This is my weblogic.xml(Without basic tags) :
<jsp-descriptor> <keepgenerated>true</keepgenerated> <debug>true</debug> </jsp-descriptor> <context-root>/WinplexAdmin</context-root> <library-ref> <library-name>jsf</library-name> <specification-version>2.0</specification-version> <implementation-version>1.0.0.0_2-0-2</implementation-version> </library-ref> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor>
What can be the problem here ?
Upvotes: 3
Views: 29502
Reputation: 1
If you have tried with the solutions below and still not working, it may due to version mismatches in JavaVersion, try
Upvotes: 0
Reputation: 2679
Solved. I was compiling with a newer weblogic.jar I mean: I had Weblogic 10.3.6 attached to NetBeans, so it was a different weblogic.xml.
A correct weblogic.xml for Weblogic 10.3.0 is like this:
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
You can see "http://www.bea.com/" in the xml while a weblogic.xml for Weblogic 11g and etc. has links with "java" or "sun" in it.
I just downloaded Weblogic 10.3.0, attached it to NetBeans, change the server for the project from Weblogic 10.3.6 to 10.3.0 and then re-compile.
Or... the easy way is just replacing the weblogic.xml code for the one i pasted here and compile.
I hope it solves your problem.
Upvotes: 3
Reputation: 327
If the above code is not for you then you can use below one
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
Upvotes: 0
Reputation: 2405
If you use Sun XML Parser and not the default Weblogic XML parser this is what happening:
The problem is that the Sun parser fail to parse the web.xml of the apps if in this element:
<web-app version="2.5" metadata-complete="true" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
xmlns attribute is after xmlns:xsi attribute.
xmlns attribute must be before xmlns:xsi attribute!
Took me very long time to find it.
Upvotes: 0