Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.6.8, 2.7.5
-
None
-
Unknown
Description
The local schema resource loading code of various blueprint namespace handlers uses the incorrect resource name syntax to load included resources, which the eclipse's classloader seems to tolerate but the standalone classloader has an issue with it.
As a result, using PojoSR, you will see the following warning for various cxf's xml-schemas because those schemas cannot be loaded from the specified resource paths.
2013-06-29 16:49:18,008 [int Extender: 3] WARN NamespaceHandlerRegistryImpl - No URL is defined for schema http://cxf.apache.org/ws/rm/manager. This schema will not be validated
2013-06-29 16:49:18,009 [int Extender: 3] WARN NamespaceHandlerRegistryImpl - No URL is defined for schema http://schemas.xmlsoap.org/ws/2005/02/rm/policy. This schema will not be validated
2013-06-29 16:49:18,010 [int Extender: 3] WARN NamespaceHandlerRegistryImpl - No URL is defined for schema http://cxf.apache.org/ws/addressing. This schema will not be validated
Concretely, those namespace handlers are loading resources using the following syntax, for example when loading schemas/blueprint/something.xsd packaged in the jar.
getClass().getClassLoader().
getResource("/schemas/blueprint/something.xsd")
However, when loading a resource over the class loader, it should use the relative path like:
getClass().getClassLoader().
getResource("schemas/blueprint/something.xsd")