-
Type:
Bug
-
Status: Resolved
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: 4.4.0-fuse-00-27
-
Fix Version/s: 4.4.0-fuse-xx-00
-
Component/s: None
-
Labels:None
-
External Issue URL:
An internal xml file references an xml schema file that is located within the distribution etc directory. The xml schema file references the http://www.w3.org/2001/XMLSchema namespace but the processing of this file causes aforementioned exception.
java.lang.IllegalArgumentException: http://www.w3.org/2001/XMLSchema
|
at javax.xml.validation.SchemaFactory.newInstance(Unknown Source)[:1.4.01]
|
...
|
The problem is that the change from using the jaxp-ri-1.4.4.jar to xercesImpl-2.11.0.jar is the source of this issue. The problem is that the jaxp-ri-1.4.4.jar would use the
com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory class to help find the namespace while using xercesImpl-2.11.0.jar uses the
org.apache.xerces.jaxp.validation.XMLSchemaFactory class instead. The later instance causes the namespace not to be found while the former will qualify the namespace correctly.
This can be worked around using the following property:
-Djavax.xml.validation.SchemaFactory:http://www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory
|
We still need to find a general solution that will not require the setting of the prior property.