]
Jason T. Greene updated JBAS-6426:
----------------------------------
Component/s: XML services
"jboss_5.0.xsd" of JBoss 5.0GA is invalid
-----------------------------------------
Key: JBAS-6426
URL:
https://jira.jboss.org/jira/browse/JBAS-6426
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: XML services
Affects Versions: JBossAS-5.0.0.GA
Reporter: Wolfgang Knauf
Assignee: Alexey Loubyansky
Fix For: JBossAS-5.1.0.CR1
Attachments: jboss_5_0.xsd
The jboss_5.0.xsd in the JBoss 5.0GA release (\docs\schema) is invalid.
First of all: The comment in "jboss_5_0.xsd" showing a sample
"jboss.xml" file seems to be wrong, as this jboss.xml leads to a deployment
error:
This is found in the XSD:
<jboss
xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.org/j2ee/schema
http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
version="5.0">
...
</jboss>
The deployment error is:
...
Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Element
{http://www.jboss.com/xml/ns/javaee}jboss is not bound as a global element.
at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:203)
at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
I found that the following snippet is working on deploy (but version is still invalid,
see below!):
<?xml version="1.0" encoding="UTF-8"?>
<jboss
xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
version="5.0">
....
</jboss>
=================
The rest of the problems occur when using Eclipse 3.4/WebToolsPlatform 3.0 to build a
"jboss.xml" which references to XSD. The errors also occur when adding the XSD
itself to the project so that WTP validates it.
First one:
"Failed to read schema document 'ejb-jar_3_0.xsd', because 1) could not find
the document; 2) the document could not be read; 3) the root element of the document is
not <xsd:schema>."
Solution:
Modify import of "ejb-jar_3_0.xsd" to:
<xsd:import
namespace="http://java.sun.com/xml/ns/javaee"
schemaLocation="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd&qu...
===============
This leads to the next one:
"http://www.jboss.com/xml/ns/javaee":security-identity and
"http://www.jboss.com/xml/ns/javaee":security-identity (or elements from their
substitution group) violate "Unique Particle Attribution". During validation
against this schema, ambiguity would be created for those two particles.
Solution: in the definition of "message-driven-bean" is a dupliate
"security-identity" element:
<xsd:complexType name="message-driven-beanType">
...
<xsd:element name="service-ref"
type="jboss:service-refType" minOccurs="0"
maxOccurs="unbounded"/>
===> <xsd:element name="security-identity"
type="jboss:security-identityType" minOccurs="0"/>
<xsd:element name="resource-ref"
type="jboss:resource-refType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="service-ref"
type="jboss:service-refType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="security-identity"
type="jboss:security-identityType" minOccurs="0"/>
<xsd:element name="resource-ref"
type="jboss:resource-refType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="resource-env-ref"
type="jboss:resource-env-refType" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="message-destination-ref"
type="jboss:message-destination-refType"
minOccurs="0" maxOccurs="unbounded"/>
===> <xsd:element name="security-identity"
type="jboss:security-identityType" minOccurs="0"
maxOccurs="1"/>
<xsd:element name="security-domain"
type="jboss:security-domainType" minOccurs="0"/>
<xsd:element name="method-attributes"
type="jboss:method-attributesType" minOccurs="0"/>
Remove one of the duplicates.
Now the XSD validates.
=================
So back to my jboss.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jboss
xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
jboss_5_0.xsd"
version="5.0">
</jboss>
Error:
Value '5.0' of attribute 'version' of element 'jboss' is not
valid with respect to the corresponding attribute use. Attribute 'version' has a
fixed value of '3.0'.
Solution: version must be "3.0":
<jboss
xmlns="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
jboss_5_0.xsd"
version="3.0">
I will attach a reworked file.
Please take a look at bug
https://jira.jboss.org/jira/browse/JBAS-6114
This one is about updating the XSD at
http://www.jboss.org/j2ee/schema/ , which would
upload the invalid file from 5.0GA, and I think it should be blocked.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: